HighLAND
FiducialVolumeDefinition.cxx
1 #include <FiducialVolumeDefinition.hxx>
2 #include <DetectorDefinition.hxx>
3 #include <iomanip>
4 
5 //dumping of array
6 #define dump_array3(par) std::cout << std::fixed << \
7  std::setw(10) << std::left << #par << ": \t" << \
8  std::setw(10) << std::right << par[0] << " " << \
9  std::setw(10) << std::right << par[1] << " " << \
10  std::setw(10) << std::right << par[2] << std::endl;
11 
12 namespace FVDef {
13 
14  // FV definitions: edges to be removed from the detector definitions in DetectorDefinition.cxx
15  // Can be overridden in yourAnalysis::Initialize()
16  // with e.g. FVDef::FVdefminFGD1[0] = x;
17  // (note that FVDef::FVdefminFGD1 = {x,y,z} works only with old compilers)
18 
19  // Fiducial volume for FGDs
20 
21  // skip first module (2 layers) for FGD1
22  Float_t FVdefminFGD1z = DetDef::fgdXYModuleWidth + (DetDef::fgdXYAirWidth/2.);
23  // skip half module (1 layer) for FGD2
24  Float_t FVdefminFGD2z = DetDef::fgdXYModuleWidth/2.;
25 
26  Float_t FVdefminFGD1[3] = {57.66, 57.66, FVdefminFGD1z};
27  Float_t FVdefmaxFGD1[3] = {57.66, 57.66, 0};
28  Float_t FVdefminFGD2[3] = {72.17, 72.17, FVdefminFGD2z};
29  Float_t FVdefmaxFGD2[3] = {72.17, 72.17, 0};
30 
31  // Fiducial volume for P0D. From TN-73
32  Float_t FVdefminP0D[3] = {256.79, 236.39, 327.48};
33  Float_t FVdefmaxP0D[3] = {248.45, 261.99, 325.247};
34 
35  //BarrelECal FV for stopping point cut
36  Float_t FVdefminTECALLeft[3] = { 0.0 , 40.0 , 40.0 };
37  Float_t FVdefmaxTECALLeft[3] = { 10.0 , 40.0 , 40.0 };
38  Float_t FVdefminTECALRight[3] = { 10 , 40.0 , 40.0 };
39  Float_t FVdefmaxTECALRight[3] = { 0.0 , 40.0 , 40.0 };
40  Float_t FVdefminTECALTop[3] = { 40.0 , 0.0 , 40.0 };
41  Float_t FVdefmaxTECALTop[3] = { 40.0 , 10.0 , 40.0 };
42  Float_t FVdefminTECALBottom[3] = { 40.0 , 10.0 , 40.0 };
43  Float_t FVdefmaxTECALBottom[3] = { 40.0 , 0.0 , 40.0 };
44 
45  //SMRD FV for stopping point cut
46  Float_t FVdefminSMRDLeft[3] = { 0.0 , 0.0 , 125.0 };
47  Float_t FVdefmaxSMRDLeft[3] = { 60.0 , 0.0 , 125.0 };
48  Float_t FVdefminSMRDRight[3] = { 60.0 , 0.0 , 125.0 };
49  Float_t FVdefmaxSMRDRight[3] = { 0.0 , 0.0 , 125.0 };
50  Float_t FVdefminSMRDTop[3] = { 0.0 , 0.0 , 125.0 };
51  Float_t FVdefmaxSMRDTop[3] = { 0.0 , 60.0 , 125.0 };
52  Float_t FVdefminSMRDBottom[3] = { 0.0 , 60.0 , 125.0 };
53  Float_t FVdefmaxSMRDBottom[3] = { 0.0 , 0.0 , 125.0 };
54 
55  //**********************************
56  void DumpFV(){
57  //**********************************
58  std::streamsize ss = std::cout.precision();
59  std::cout.precision(3);
60 
61  std::cout << "\n***** FiducialVolume: available volumes list: ***** \n" << std::endl;
62 
63  dump_array3(FVdefminFGD1);
64  dump_array3(FVdefmaxFGD1);
65 
66  dump_array3(FVdefminFGD2);
67  dump_array3(FVdefmaxFGD2);
68 
69  dump_array3(FVdefminP0D);
70  dump_array3(FVdefmaxP0D);
71 
72  dump_array3(FVdefminTECALLeft);
73  dump_array3(FVdefmaxTECALLeft);
74  dump_array3(FVdefminTECALRight);
75  dump_array3(FVdefmaxTECALRight);
76  dump_array3(FVdefminTECALTop);
77  dump_array3(FVdefmaxTECALTop);
78  dump_array3(FVdefminTECALBottom);
79  dump_array3(FVdefmaxTECALBottom);
80 
81  dump_array3(FVdefminSMRDLeft);
82  dump_array3(FVdefmaxSMRDLeft);
83  dump_array3(FVdefminSMRDRight);
84  dump_array3(FVdefmaxSMRDRight);
85  dump_array3(FVdefminSMRDTop);
86  dump_array3(FVdefmaxSMRDTop);
87  dump_array3(FVdefminSMRDBottom);
88  dump_array3(FVdefmaxSMRDBottom);
89 
90  std::cout << "\n******************************************************* \n" << std::endl;
91 
92  std::cout.precision(ss);
93  }
94 
95 }