|
ATLAS Offline Software
|
Go to the documentation of this file.
19 #include "GaudiKernel/StatusCode.h"
20 #include "GaudiKernel/TypeNameString.h"
39 const std::string&
name,
89 msg() << MSG::ERROR <<
"EFTauDiKaonHypo is uninitialized! " <<
endmsg;
90 return StatusCode::FAILURE;
94 <<
"Initialization of EFTauDiKaonHypo completed successfully"
97 return StatusCode::SUCCESS;
122 auto monitorIt =
Monitored::Group(
m_monTool, PassedCuts, massTrkSysAccepted, massTrkSysKaonAccepted, massTrkSysKaonPiAccepted, leadTrkPtAccepted, ptAccepted, nTrackAccepted, nWideTrackAccepted , dRAccepted, etOverPtLeadTrkAccepted, EMOverTrkSysPAccepted, ninputTaus);
129 ATH_MSG_DEBUG(
"AcceptAll property is set: taking all events" );
132 ATH_MSG_DEBUG(
"AcceptAll property not set: applying selection" );
138 auto roiDescriptor =
input.roi;
139 float roIZ = roiDescriptor->zed();
140 float roIEta = roiDescriptor->eta();
141 float roIPhi = roiDescriptor->phi();
143 ATH_MSG_DEBUG(
"Input RoI eta: " << roIEta <<
" Input RoI phi: " << roIPhi <<
" Input RoI z: " << roIZ);
149 auto TauContainer =
input.taujetcontainer;
150 ninputTaus = TauContainer->size();
152 for(
auto Tau: *TauContainer){
159 double EFet =
Tau->pt()*1
e-3;
167 int numWideTrack = -100;
169 numTrack =
Tau->nTracks();
170 #ifndef XAODTAU_VERSIONS_TAUJET_V3_H
171 numWideTrack =
Tau->nWideTracks();
173 numWideTrack =
Tau->nTracksIsolation();
182 nTrackAccepted = numTrack;
183 nWideTrackAccepted = numWideTrack;
199 TLorentzVector my_kaons(0.,0.,0.,0.);
200 std::vector<TLorentzVector> my_trks;
202 for (
unsigned int i=0;
i<
Tau->nTracks();++
i) {
204 TLorentzVector tmpKaon(0.,0.,0.,0.);
208 #ifndef XAODTAU_VERSIONS_TAUJET_V3_H
211 trk =
Tau->track(
i)->track();
216 msg() << MSG::WARNING <<
" REGTEST: EFTauDiKaonHypo, failed to get tau track link! " <<
endmsg;
220 tmpKaon.SetPtEtaPhiM(trk->
pt(), trk->
eta(), trk->
phi(), 493.677);
221 my_trks.push_back(trk->
p4());
223 my_kaons = my_kaons + tmpKaon;
225 float massTrkSysKaon = my_kaons.M();
226 ATH_MSG_DEBUG(
" REGTEST: massTrkSys with kaon mass hypo "<< massTrkSysKaon );
228 double finalKPiMass = 0;
229 if(my_trks.size()==2){
231 TLorentzVector tmpKaon;
232 tmpKaon.SetPtEtaPhiM(my_trks.at(0).Pt(), my_trks.at(0).Eta(), my_trks.at(0).Phi(), 493.677);
233 TLorentzVector tmpPion = my_trks.at(1);
235 double kPiMass1 = (tmpKaon+tmpPion).M();
237 tmpKaon.SetPtEtaPhiM(my_trks.at(1).Pt(), my_trks.at(1).Eta(), my_trks.at(1).Phi(), 493.677);
238 tmpPion = my_trks.at(0);
240 double kPiMass2 = (tmpKaon+tmpPion).M();
244 finalKPiMass = kPiMass1;
246 finalKPiMass = kPiMass2;
249 float massTrkSysKaonPi = finalKPiMass;
250 ATH_MSG_DEBUG(
" REGTEST: massTrkSys with kaon+pi mass hypo "<< massTrkSysKaonPi );
257 massTrkSysKaonAccepted = massTrkSysKaon*1
e-3;
261 massTrkSysKaonPiAccepted = massTrkSysKaonPi*1
e-3;
308 ATH_MSG_DEBUG(
" REGTEST: No good tau found !! TE rejected ");
324 return StatusCode::SUCCESS;
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Group
Properties of a chain group.
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
TrigCompositeUtils::DecisionID numeric() const
numeric ID
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
@ dRmax
Get maximal dR of tracks associated to calo-seeded tau.
virtual FourMom_t p4() const override final
The full 4-momentum of the particle.
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
Generic monitoring tool for athena components.
::StatusCode StatusCode
StatusCode definition for legacy code.
Header file to be included by clients of the Monitored infrastructure.
Class describing a TrackParticle.
Declare a monitored scalar variable.
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)