EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
lowq2tagger.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file lowq2tagger.C
1 //
2 // Implementation of a low Q^2 tagger
3 // using the new LQST detector classes
4 //
5 // This script constructs the detector and saves it to a ROOT file
6 //
7 // Written by R. Petti (10-23-2014)
8 //
9 
10 
12 {
13 
14  // Load basic libraries
15  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
16 
17 
18  //
19  // hard code parameters for now, but will improve shortly down the line
20 
21  const UInt_t cellNumx = 6;
22  const UInt_t cellNumy = 4;
23  const Double_t cellFaceSize = 50.00; //mm 5cm x 5cm sensor size
24  const Double_t cellLength = 0.04; //mm -> 400 micron thickness
25  const Double_t detectorLength = cellNumx*cellFaceSize;
26 
27  const Double_t beamLineOffset = -15000.; //mm -> 15.4 m
28  const Double_t nominalX = 230.; //mm -> 23 cm
29  const Double_t desiredEdgeDistanceToBeam = 20.; //mm -> 2cm
30  const Double_t displacementInX = nominalX + detectorLength/2. + desiredEdgeDistanceToBeam; //mm // 23 cm is where nominal beam hits, add some distance to that
31  const Double_t angle = -30.e-3; // radians
32 
33  std::cout << "displacementInX = " << displacementInX << std::endl;
34 
35  // Detector name will be "lowQtag"; should be consistent through whole chain
36  LqstGeoParData *lqs = new LqstGeoParData("LQST");
37  lqs->InitializeDetector(lqs, 2, cellNumx, cellNumy, 0.1*cellFaceSize, 0.1*cellLength, 0.1*beamLineOffset, 0.1*displacementInX, angle);
38  lqs->set_ecalTowerLength(0.1*100); // in [cm]
39  lqs->constructDetector();
40  // lqs = NULL;
41  /*
42  LqstGeoParData *lqs = new LqstGeoParData("LQST2");
43  lqs->InitializeDetector(lqs, cellNumx, cellNumy, 0.1*cellFaceSize, 0.1*cellLength, 0.1*beamLineOffset, 0.1*displacementInX, angle);
44  lqs->constructDetector();
45  */
46 
47  exit(0);
48 
49 
50 } // lowq2tagger()