7 #include "Identifier/Identifier.h"
20 #include "CLHEP/Vector/LorentzVector.h"
22 #include "GaudiKernel/NTuple.h"
23 #include "GaudiKernel/SmartDataPtr.h"
24 #include "GaudiKernel/IDataProviderSvc.h"
25 #include "GaudiKernel/ITHistSvc.h"
26 #include "GaudiKernel/INTupleSvc.h"
40 CHECK(executeCheckEventInfo());
45 for (
const MMSimHit& hit : *p_collection) {
47 CHECK(executeFillHistos(
u));
51 int simId = (hit).MMId();
54 static const std::string s_m1s1(
"M1S1");
55 static const std::string s_m2s1(
"M2S1");
56 static const std::string s_m1l1(
"M1L1");
57 static const std::string s_m2l1(
"M2L1");
58 static const std::string s_m1s2(
"M1S2");
59 static const std::string s_m2s2(
"M2S2");
60 static const std::string s_m1l2(
"M1L2");
61 static const std::string s_m2l2(
"M2L2");
65 if (sim_stationName==s_m1s1 &&
u.z()>0){
66 m_MMTransverseEta1SmallWedge1->Fill(
u.x(),
u.y());
70 if (sim_stationName==s_m2s1 &&
u.z()>0){
71 m_MMTransverseEta2SmallWedge1->Fill(
u.x(),
u.y());
75 if (sim_stationName==s_m1l1 &&
u.z()>0){
76 m_MMTransverseEta1LargeWedge1->Fill(
u.x(),
u.y());
80 if (sim_stationName==s_m2l1 &&
u.z()>0){
81 m_MMTransverseEta2LargeWedge1->Fill(
u.x(),
u.y());
85 double rwedge1 = sqrt(
u.x()*
u.x()+
u.y()*
u.y());
88 if ((sim_stationName==s_m1s1 || sim_stationName==s_m2s1) &&
u.z() > 0){
89 m_MM_SmallWedge1_TransverseView_positiveZ->Fill(
u.x(),
u.y());
90 m_MM_SmallWedge1_rZview_positiveZ->Fill(
u.z(), rwedge1);
91 m_MM_rPlot_S1_posZ->Fill(rwedge1);
95 if ((sim_stationName==s_m1s1 || sim_stationName==s_m2s1) &&
u.z() < 0){
96 m_MM_SmallWedge1_TransverseView_negativeZ->Fill(
u.x(),
u.y());
97 m_MM_SmallWedge1_rZview_negativeZ->Fill(
u.z(), rwedge1);
101 if ((sim_stationName==s_m1l1 || sim_stationName==s_m2l1) &&
u.z() > 0){
102 m_MM_LargeWedge1_TransverseView_positiveZ->Fill(
u.x(),
u.y());
103 m_MM_LargeWedge1_rZview_positiveZ->Fill(
u.z(), rwedge1);
104 m_MM_rPlot_L1_posZ->Fill(rwedge1);
108 if ((sim_stationName==s_m1l1 || sim_stationName==s_m2l1) &&
u.z() < 0){
109 m_MM_LargeWedge1_TransverseView_negativeZ->Fill(
u.x(),
u.y());
110 m_MM_LargeWedge1_rZview_negativeZ->Fill(
u.z(), rwedge1);
116 if (sim_stationName==s_m1s2 &&
u.z()>0){
117 m_MMTransverseEta1SmallWedge2->Fill(
u.x(),
u.y());
121 if (sim_stationName==s_m2s2 &&
u.z()>0){
122 m_MMTransverseEta2SmallWedge2->Fill(
u.x(),
u.y());
126 if (sim_stationName==s_m1l2 &&
u.z()>0){
127 m_MMTransverseEta1LargeWedge2->Fill(
u.x(),
u.y());
131 if (sim_stationName==s_m2l2 &&
u.z()>0){
132 m_MMTransverseEta2LargeWedge2->Fill(
u.x(),
u.y());
136 double rwedge2 = sqrt(
u.x()*
u.x()+
u.y()*
u.y());
139 if ((sim_stationName==s_m1s2 || sim_stationName==s_m2s2) &&
u.z() > 0){
140 m_MM_SmallWedge2_TransverseView_positiveZ->Fill(
u.x(),
u.y());
141 m_MM_SmallWedge2_rZview_positiveZ->Fill(
u.z(), rwedge2);
142 m_MM_rPlot_S2_posZ->Fill(rwedge2);
146 if ((sim_stationName==s_m1s2 || sim_stationName==s_m2s2) &&
u.z() < 0){
147 m_MM_SmallWedge2_TransverseView_negativeZ->Fill(
u.x(),
u.y());
148 m_MM_SmallWedge2_rZview_negativeZ->Fill(
u.z(), rwedge2);
152 if ((sim_stationName==s_m1l2 || sim_stationName==s_m2l2) &&
u.z() > 0){
153 m_MM_LargeWedge2_TransverseView_positiveZ->Fill(
u.x(),
u.y());
154 m_MM_LargeWedge2_rZview_positiveZ->Fill(
u.z(), rwedge2);
155 m_MM_rPlot_L2_posZ->Fill(rwedge2);
159 if ((sim_stationName==s_m1l2 || sim_stationName==s_m2l2) &&
u.z() < 0){
160 m_MM_LargeWedge2_TransverseView_negativeZ->Fill(
u.x(),
u.y());
161 m_MM_LargeWedge2_rZview_negativeZ->Fill(
u.z(), rwedge2);
173 return StatusCode::SUCCESS;
181 _TH1D(m_MM_rPlot_S1_posZ,
"MM_rPlot_S1_posZ",10000,0.,14000.);
182 _TH1D(m_MM_rPlot_L1_posZ,
"MM_rPlot_L1_posZ",5000,0.,5000.);
184 _TH2D(m_MM_SmallWedge1_rZview_positiveZ,
"MM_rZView_S1_posZ",1000,7000.,8000.,5000,0.,5000.);
185 _TH2D(m_MM_SmallWedge1_rZview_negativeZ,
"MM_rZView_S1_negZ",1000,-8000.,-7000.,5000,0.,5000.);
186 _TH2D(m_MM_LargeWedge1_rZview_positiveZ,
"MM_rZView_L1_posZ",1000,7000.,8000.,5000,0.,5000.);
187 _TH2D(m_MM_LargeWedge1_rZview_negativeZ,
"MM_rZView_L1_negZ",1000,-8000.,-7000.,5000,0.,5000.);
189 _TH2D(m_MMTransverseEta1SmallWedge1,
"MM_TransverseView_M1S1_posZ",1200,-6000.,6000.,1200,-6000.,6000.);
190 _TH2D(m_MMTransverseEta2SmallWedge1,
"MM_TransverseView_M2S1_posZ",1200,-6000.,6000.,1200,-6000.,6000.);
191 _TH2D(m_MMTransverseEta1LargeWedge1,
"MM_TransverseView_M1L1_posZ",1200,-6000.,6000.,1200,-6000.,6000.);
192 _TH2D(m_MMTransverseEta2LargeWedge1,
"MM_TransverseView_M2L1_posZ",1200,-6000.,6000.,1200,-6000.,6000.);
194 _TH2D(m_MM_SmallWedge1_TransverseView_positiveZ,
"MM_TransverseView_S1_posZ",1200,-6000.,6000.,1200,-6000.,6000.);
195 _TH2D(m_MM_SmallWedge1_TransverseView_negativeZ,
"MM_TransverseView_S1_negZ",1200,-6000.,6000.,1200,-6000.,6000.);
196 _TH2D(m_MM_LargeWedge1_TransverseView_positiveZ,
"MM_TransverseView_L1_posZ",1200,-6000.,6000.,1200,-6000.,6000.);
197 _TH2D(m_MM_LargeWedge1_TransverseView_negativeZ,
"MM_TransverseView_L1_negZ",1200,-6000.,6000.,1200,-6000.,6000.);
201 _TH1D(m_MM_rPlot_S2_posZ,
"MM_rPlot_S2_posZ",10000,0.,14000.);
202 _TH1D(m_MM_rPlot_L2_posZ,
"MM_rPlot_L2_posZ",10000,0.,14000.);
204 _TH2D(m_MM_SmallWedge2_rZview_positiveZ,
"MM_rZView_S2_posZ",1000,7000.,8000.,5000,0.,5000.);
205 _TH2D(m_MM_SmallWedge2_rZview_negativeZ,
"MM_rZView_S2_negZ",1000,-8000.,-7000.,5000,0.,5000.);
206 _TH2D(m_MM_LargeWedge2_rZview_positiveZ,
"MM_rZView_L2_posZ",1000,7000.,8000.,5000,0.,5000.);
207 _TH2D(m_MM_LargeWedge2_rZview_negativeZ,
"MM_rZView_L2_negZ",1000,-8000.,-7000.,5000,0.,5000.);
209 _TH2D(m_MMTransverseEta1SmallWedge2,
"MM_TransverseView_M1S2_posZ",1200,-6000.,6000.,1200,-6000.,6000.);
210 _TH2D(m_MMTransverseEta2SmallWedge2,
"MM_TransverseView_M2S2_posZ",1200,-6000.,6000.,1200,-6000.,6000.);
211 _TH2D(m_MMTransverseEta1LargeWedge2,
"MM_TransverseView_M1L2_posZ",1200,-6000.,6000.,1200,-6000.,6000.);
212 _TH2D(m_MMTransverseEta2LargeWedge2,
"MM_TransverseView_M2L2_posZ",1200,-6000.,6000.,1200,-6000.,6000.);
214 _TH2D(m_MM_SmallWedge2_TransverseView_positiveZ,
"MM_TransverseView_S2_posZ",1200,-6000.,6000.,1200,-6000.,6000.);
215 _TH2D(m_MM_SmallWedge2_TransverseView_negativeZ,
"MM_TransverseView_S2_negZ",1200,-6000.,6000.,1200,-6000.,6000.);
216 _TH2D(m_MM_LargeWedge2_TransverseView_positiveZ,
"MM_TransverseView_L2_posZ",1200,-6000.,6000.,1200,-6000.,6000.);
217 _TH2D(m_MM_LargeWedge2_TransverseView_negativeZ,
"MM_TransverseView_L2_negZ",1200,-6000.,6000.,1200,-6000.,6000.);
221 return StatusCode::SUCCESS;