105{
107
108 auto NInputTaus = Monitored::Scalar<int>("NInputTaus", -1);
109 auto passedCuts = Monitored::Scalar<int>("CutCounter", 0);
110 auto PtAccepted = Monitored::Scalar<float>("PtAccepted", -1);
111 auto NTracksAccepted = Monitored::Scalar<int>("NTracksAccepted", -1);
112 auto NIsoTracksAccepted = Monitored::Scalar<int>("NIsoTracksAccepted", -1);
113
114 std::map<std::string, Monitored::Scalar<float>> monitoredIdVariables;
116 monitoredIdVariables.emplace(key + "_TauJetScoreAccepted_0p", Monitored::Scalar<float>(key + "_TauJetScoreAccepted_0p", -1));
117 monitoredIdVariables.emplace(key + "_TauJetScoreTransAccepted_0p", Monitored::Scalar<float>(key + "_TauJetScoreTransAccepted_0p", -1));
118 monitoredIdVariables.emplace(key + "_TauJetScoreAccepted_1p", Monitored::Scalar<float>(key + "_TauJetScoreAccepted_1p", -1));
119 monitoredIdVariables.emplace(key + "_TauJetScoreTransAccepted_1p", Monitored::Scalar<float>(key + "_TauJetScoreTransAccepted_1p", -1));
120 monitoredIdVariables.emplace(key + "_TauJetScoreAccepted_mp", Monitored::Scalar<float>(key + "_TauJetScoreAccepted_mp", -1));
121 monitoredIdVariables.emplace(key + "_TauJetScoreTransAccepted_mp", Monitored::Scalar<float>(key + "_TauJetScoreTransAccepted_mp", -1));
122 }
123
124 std::vector<std::reference_wrapper<Monitored::IMonitoredVariable>> monVars = {
125 std::ref(NInputTaus), std::ref(passedCuts), std::ref(PtAccepted), std::ref(NTracksAccepted), std::ref(NIsoTracksAccepted)
126 };
127 for(auto& [key, var] : monitoredIdVariables) monVars.push_back(std::ref(var));
128 auto monitorIt = Monitored::Group(
m_monTool, monVars);
129
130
131
132 bool pass = false;
133
135 pass = true;
136 ATH_MSG_DEBUG(
"AcceptAll property is set: taking all events");
137 }
138
139
141
143 NInputTaus = TauContainer->
size();
144
147
148 float pT =
Tau->pt();
149
150
151
152
154
156 passedCuts++;
157 PtAccepted =
pT / Gaudi::Units::GeV;
158
159
160
161
162
163 int numTrack = 0, numIsoTrack = 0;
165
166
169 }
172 }
173 } else {
174
175 numTrack =
Tau->nTracks();
176 numIsoTrack =
Tau->nTracksIsolation();
177 }
178
181
182
184
188 }
189
192 }
193 }
194
195
196 passedCuts++;
197 NTracksAccepted = numTrack;
198 NIsoTracksAccepted = numIsoTrack;
199
200
201
202
203
207
216 }
217
220 ATH_MSG_ERROR(
" RNNJetScoreSigTrans not available. Make sure the TauWPDecorator is run for the RNN Tau ID!");
221 }
222
225 }
226 }
227
228
230 if(!
p.first.isAvailable(*Tau))
231 ATH_MSG_WARNING(
"TauID Score " <<
m_monitoredIdScores.value().at(key).first <<
" is not available. Make sure the correct inferences are included in the chain reconstruction sequence!");
232
233 if(!
p.second.isAvailable(*Tau))
234 ATH_MSG_WARNING(
"TauID ScoreSigTrans " <<
m_monitoredIdScores.value().at(key).second <<
" is not available. Make sure the correct inferences are included in the chain reconstruction sequence!");
235
236 ATH_MSG_DEBUG(
" TauID \"" << key <<
"\" ScoreSigTrans: " <<
p.second(*Tau));
237
238
239 if(
Tau->nTracks() == 0) {
240 monitoredIdVariables.at(key +
"_TauJetScoreAccepted_0p") =
p.first(*Tau);
241 monitoredIdVariables.at(key +
"_TauJetScoreTransAccepted_0p") =
p.second(*Tau);
242 }
else if(
Tau->nTracks() == 1) {
243 monitoredIdVariables.at(key +
"_TauJetScoreAccepted_1p") =
p.first(*Tau);
244 monitoredIdVariables.at(key +
"_TauJetScoreTransAccepted_1p") =
p.second(*Tau);
245 } else {
246 monitoredIdVariables.at(key +
"_TauJetScoreAccepted_mp") =
p.first(*Tau);
247 monitoredIdVariables.at(key +
"_TauJetScoreTransAccepted_mp") =
p.second(*Tau);
248 }
249 }
250
251 passedCuts++;
252
253
254
255
256
257 pass = true;
258
260 }
261
262 return pass;
263}
#define ATH_MSG_WARNING(x)
size_type size() const noexcept
Returns the number of elements in the collection.
@ Tau
The object is a tau (jet)
@ RNNJetScoreSigTrans
RNN score which is signal transformed/flattened.
IsTauFlag
Enum for IsTau flags.
TauJet_v3 TauJet
Definition of the current "tau version".
TauJetContainer_v3 TauJetContainer
Definition of the current "taujet container version".