15 #include "CLHEP/Vector/LorentzVector.h"
45 , m_ntupleFileName(
"sTGCHitAnalysis/ntuple/")
46 ,
m_path(
"/sTGCHitAnalysis/histos/")
47 , m_thistSvc(
"THistSvc",
name)
63 m_h_rz_A =
new TH2D(
"h_stgc_rz_A",
"rz_A", 2000,6500., 8500., 1000, -5000., 5000.);
67 m_h_rz_C =
new TH2D(
"h_stgc_rz_C",
"rz_C", 2000,-8500., -6500., 5000, 0., 5000.);
71 m_h_L_rz_A =
new TH2D(
"h_stgc_L_rz_A",
"L_rz_A", 2000, 6500., 8500., 5000, 0., 5000.);
75 m_h_L_rz_C =
new TH2D(
"h_stgc_L_rz_C",
"L_rz_C", 2000,-8500., -6500., 5000, 0., 5000.);
79 m_h_S_rz_A =
new TH2D(
"h_stgc_S_rz_A",
"S_rz_A", 2000,6500., 8500., 5000, 0., 5000.);
83 m_h_S_rz_C =
new TH2D(
"h_stgc_S_rz_C",
"S_rz_C", 2000, -8500., -6500., 5000, 0., 5000.);
88 m_h_xy_A =
new TH2D(
"h_stgc_xy_A",
"xy_A", 1200,-6000., 6000., 1200, -6000., 6000.);
92 m_h_xy_C =
new TH2D(
"h_stgc_xy_C",
"xy_C", 1200,-6000., 6000., 1200, -6000., 6000.);
96 m_h_L_xy_A =
new TH2D(
"h_stgc_L_xy_A",
"L_xy_A", 1200,-6000., 6000., 1200, -6000., 6000.);
100 m_h_L_xy_C =
new TH2D(
"h_stgc_L_xy_C",
"L_xy_C", 1200,-6000., 6000., 1200, -6000., 6000.);
104 m_h_S_xy_A =
new TH2D(
"h_stgc_S_xy_A",
"S_xy_A", 1200,-6000., 6000., 1200, -6000., 6000.);
108 m_h_S_xy_C =
new TH2D(
"h_stgc_S_xy_C",
"S_xy_C", 1200,-6000., 6000., 1200, -6000., 6000.);
112 m_h_r_A =
new TH1D(
"h_stgc_r_A",
"r_A", 1000,0., 14000.);
116 m_h_r_C =
new TH1D(
"h_stgc_r_C",
"r_C", 1000,0., 14000.);
121 return StatusCode::SUCCESS;
128 if ((
evtStore()->
retrieve(p_collection,
"sTGC_Hits"))==StatusCode::SUCCESS) {
134 int simId = (*i_hit).sTGCId();
137 static const std::string QS1C(
"QS1C");
138 static const std::string QS2C(
"QS2C");
139 static const std::string QS3C(
"QS3C");
140 static const std::string QL1P(
"QL1P");
141 static const std::string QL2P(
"QL2P");
142 static const std::string QL3P(
"QL3P");
144 int sim_side = hitHelper->
GetSide(simId);
147 double r_A = sqrt(
p.x()*
p.x()+
p.y()*
p.y());
154 double r_C = sqrt(
p.x()*
p.x()+
p.y()*
p.y());
160 if ((sim_stationName==QS1C || sim_stationName==QS2C || sim_stationName==QS3C) && sim_side==1){
161 double r_S_A = sqrt(
p.x()*
p.x()+
p.y()*
p.y());
166 if ((sim_stationName==QS1C || sim_stationName==QS2C || sim_stationName==QS3C) && sim_side==-1){
167 double r_S_C = sqrt(
p.x()*
p.x()+
p.y()*
p.y());
172 if ((sim_stationName==QL1P || sim_stationName==QL2P || sim_stationName==QL3P) && sim_side==1){
173 double r_L_A = sqrt(
p.x()*
p.x()+
p.y()*
p.y());
178 if ((sim_stationName==QL1P || sim_stationName==QL2P || sim_stationName==QL3P) && sim_side==-1){
179 double r_L_C = sqrt(
p.x()*
p.x()+
p.y()*
p.y());
186 return StatusCode::SUCCESS;