66{
67
68 bool pass = false;
69
70 auto mon_ET = Monitored::Scalar( "Et_em", -1.0 );
71 auto mon_etaBin = Monitored::Scalar( "EtaBin", -1.0 );
72 auto mon_Eta = Monitored::Scalar( "Eta", -99. );
73 auto mon_Phi = Monitored::Scalar( "Phi", -99. );
74 auto mon_mu = Monitored::Scalar("mu", -1.);
75 auto mon_etcone20 = Monitored::Scalar("etcone20", -99.);
76 auto mon_topoetcone20 = Monitored::Scalar("topoetcone20", -99.);
77 auto mon_reletcone20 = Monitored::Scalar("reletcone20", -99.);
78 auto mon_reltopoetcone20 = Monitored::Scalar("reltopoetcone20", -99.);
79
80 auto mon_etcone30 = Monitored::Scalar("etcone30", -99.);
81 auto mon_topoetcone30 = Monitored::Scalar("topoetcone30", -99.);
82 auto mon_reletcone30 = Monitored::Scalar("reletcone30", -99.);
83 auto mon_reltopoetcone30 = Monitored::Scalar("reltopoetcone30", -99.);
84
85 auto mon_etcone40 = Monitored::Scalar("etcone40", -99.);
86 auto mon_topoetcone40 = Monitored::Scalar("topoetcone40", -99.);
87 auto mon_reletcone40 = Monitored::Scalar("reletcone40", -99.);
88 auto mon_reltopoetcone40 = Monitored::Scalar("reltopoetcone40", -99.);
89
90 auto PassedCuts = Monitored::Scalar<int>( "CutCounter", -1 );
91 auto monitorIt = Monitored::Group(
m_monTool,
92 mon_etaBin, mon_Eta, mon_Phi, mon_mu,
93 mon_etcone20, mon_topoetcone20, mon_reletcone20, mon_reltopoetcone20,
94 mon_etcone30, mon_topoetcone30, mon_reletcone30, mon_reltopoetcone30,
95 mon_etcone40, mon_topoetcone40, mon_reletcone40, mon_reltopoetcone40,
96 PassedCuts );
97
98
99 PassedCuts = PassedCuts + 1;
100
101 float ET(0);
102
103 auto roiDescriptor =
input.roi;
104
105 if ( fabs( roiDescriptor->eta() ) > 2.6 ) {
106 ATH_MSG_DEBUG(
"REJECT The photon had eta coordinates beyond the EM fiducial volume : "
107 << roiDescriptor->eta() << "; stop the chain now" );
108 pass=false;
109 return pass;
110 }
111
113 << ": Eta = " << roiDescriptor->eta()
114 << ", Phi = " << roiDescriptor->phi() );
115
116
117 auto pClus =
input.photon->caloCluster();
118
119 float absEta = fabs( pClus->eta() );
121
122 ET = pClus->et();
123
124
125
126
129 return pass;
130 } else {
132 }
134 PassedCuts = PassedCuts + 1;
135
136 mon_ET = ET;
137
138
139 float avg_mu = 0;
140 SG::ReadDecorHandle<xAOD::EventInfo,float> eventInfoDecor(
m_avgMuKey);
141 if(eventInfoDecor.isPresent()) {
142 avg_mu = eventInfoDecor(0);
144 }
145 mon_mu = avg_mu;
146
150 reletcone20(999), reletcone30(999), reletcone40(999),
151 reltopoetcone20(999), reltopoetcone30(999), reltopoetcone40(999);
152
153
154
156
158
160
162
164
166
168
170
172
182
183
184 float photon_eT =
input.photon->caloCluster()->et();
188 mon_reletcone20 = reletcone20;
189
193 mon_reltopoetcone20 = reltopoetcone20;
194
198 mon_reletcone30 = reletcone30;
199
203 mon_reltopoetcone30 = reltopoetcone30;
204
208 mon_reletcone40 = reletcone40;
209
213 mon_reltopoetcone40 = reltopoetcone40;
214
215
216 std::vector<float> reltopoetcone;
217 reltopoetcone.push_back(reltopoetcone20);
218 reltopoetcone.push_back(reltopoetcone30);
219 reltopoetcone.push_back(reltopoetcone40);
220
221 std::vector<float> reletcone;
222 reletcone.push_back(etcone20);
223 reletcone.push_back(etcone30);
224 reletcone.push_back(etcone40);
225
226
227 bool pass_reletcone = true;
228 bool pass_reltopoetcone = true;
229
230
231 for (unsigned int conesize=0; conesize<3; conesize++){
235
236
237
238
240 ATH_MSG_DEBUG(
" not applying etcone[" << conesize <<
"] isolation.");
241 }
243 ATH_MSG_DEBUG(
" not applying topoetcone[" << conesize <<
"] isolation.");
244 }
247
248 ATH_MSG_DEBUG(
" pass_reletcone[" << conesize <<
"] = " << reletcone[conesize] <<
" - " <<
m_CutOffset[conesize] <<
"/" << photon_eT <<
" < " <<
m_RelEtConeCut[conesize] <<
" = " << pass_reletcone);
249 ATH_MSG_DEBUG(
" pass_reltopoetcone[" << conesize <<
"] = " << reltopoetcone[conesize] <<
" - " <<
m_CutOffset[conesize] <<
"/" << photon_eT <<
" < " <<
m_RelEtConeCut[conesize] <<
" = " << pass_reltopoetcone);
250
251 pass_reletcone = pass_reletcone && pass_this_reletcone ;
252 pass_reltopoetcone = pass_reltopoetcone && pass_this_reltopoetcone ;
253 }
254
255 pass =
m_acceptAll || (pass_reletcone && pass_reltopoetcone);
258 ATH_MSG_DEBUG(
"pass_reltopoetcone = " << pass_reltopoetcone );
260
261 return pass;
262
263}
bool absEta(const xAOD::TauJet &tau, float &out)
@ topoetcone20
Topo-cluster ET-sum.
@ etcone20
Calorimeter isolation.
@ ptcone20
Track isolation.