ATLAS Offline Software
PanTauSeed.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
7 #include "xAODTau/TauJet.h"
8 
9 // default constructor
11  :
12  IParticle(),
13  m_p4(),
14  m_IsValidSeed(false),
15  m_TechnicalQuality(),
16  m_NameInputAlgorithm("InvalidAlg"),
17  m_TauJet(nullptr),
18  m_Constituents(),
19  m_TypeHLVs(),
20  m_ConstituentsList_Core(),
21  m_ConstituentsList_Wide(),
22  m_ConstituentsList_AllSelected(),
23  m_ConstituentsList_All(),
24  m_DecayMode_BySubAlg(0),
25  m_DecayMode_ByPanTau(0),
26  m_decayModeHack_CellBasedShots(false),
27  m_Features(nullptr)
28 {
29 }
30 
31 
32 // destructor
34 {
35  if(m_Features != nullptr) delete m_Features;
36 
37  //delete the constituents
38  for(unsigned int iConst=0; iConst<m_ConstituentsList_All.size(); iConst++) {
39  PanTau::TauConstituent* curConst = m_ConstituentsList_All[iConst];
40  if(curConst != nullptr) delete curConst;
41  }
42  m_ConstituentsList_All.clear();
43  m_ConstituentsList_AllSelected.clear();
44  m_ConstituentsList_Core.clear();
45  m_ConstituentsList_Wide.clear();
46 
47  // also clear the constituent matrix
48  // dont delete the entries as they point to the (at this point already deleted) constituents in m_ConstituentsList
49  for(unsigned int iType=0; iType<m_Constituents.size(); iType++) {
50  std::vector<PanTau::TauConstituent*> curConsts = m_Constituents[iType];
51  curConsts.clear();
52  }
53  m_Constituents.clear();
54 }
55 
56 
57 //copy constructor
59  :
60  IParticle(rhs),
61  m_p4(rhs.m_p4),
62  m_IsValidSeed(rhs.m_IsValidSeed),
63  m_TechnicalQuality(rhs.m_TechnicalQuality),
64  m_NameInputAlgorithm(rhs.m_NameInputAlgorithm),
65  m_TauJet(rhs.m_TauJet),
66  m_Constituents(rhs.m_Constituents),
67  m_TypeHLVs(rhs.m_TypeHLVs),
68  m_ConstituentsList_Core(rhs.m_ConstituentsList_Core),
69  m_ConstituentsList_Wide(rhs.m_ConstituentsList_Wide),
70  m_ConstituentsList_AllSelected(rhs.m_ConstituentsList_AllSelected),
71  m_ConstituentsList_All(rhs.m_ConstituentsList_All),
72  m_DecayMode_BySubAlg(rhs.m_DecayMode_BySubAlg),
73  m_DecayMode_ByPanTau(rhs.m_DecayMode_ByPanTau),
74  m_decayModeHack_CellBasedShots(rhs.m_decayModeHack_CellBasedShots),
75 
76  m_Features( (rhs.m_Features ? new PanTau::TauFeature(*rhs.m_Features) : nullptr) )
77 {
78 }
79 
80 
82 {
83  if (this != &seed){
84 
85  if (!this->container() && !this->hasStore() ) {
86  makePrivateStore();
87  }
88  this->IParticle::operator=( seed );
89  this->m_p4 = seed.m_p4;
90  m_IsValidSeed = seed.m_IsValidSeed;
91  m_TechnicalQuality = seed.m_TechnicalQuality;
92  m_NameInputAlgorithm = seed.m_NameInputAlgorithm;
93  m_TauJet = seed.m_TauJet;
94  m_Constituents = seed.m_Constituents;
95  m_TypeHLVs = seed.m_TypeHLVs;
96  m_ConstituentsList_Core = seed.m_ConstituentsList_Core;
97  m_ConstituentsList_Wide = seed.m_ConstituentsList_Wide;
98  m_ConstituentsList_AllSelected = seed.m_ConstituentsList_AllSelected;
99  m_ConstituentsList_All = seed.m_ConstituentsList_All;
100  m_decayModeHack_CellBasedShots = seed.m_decayModeHack_CellBasedShots;
101 
102  if(m_Features) delete m_Features;
103  m_Features = (seed.m_Features ? new PanTau::TauFeature(*seed.m_Features) : nullptr);
104  }
105  return *this;
106 }
107 
108 
109 double PanTau::PanTauSeed::pt() const {
110  // static Accessor< float > acc( "pt" );
111  // return acc( *this );
112  return p4().Pt();
113 }
114 
115 double PanTau::PanTauSeed::eta() const {
116  // static Accessor<float > acc( "eta" );
117  // return acc( *this );
118  return p4().Eta();
119 }
120 
121 double PanTau::PanTauSeed::phi() const {
122  // static Accessor< float > acc( "phi" );
123  // return acc( *this );
124  return p4().Phi();
125 }
126 
127 double PanTau::PanTauSeed::m() const {
128  // static Accessor< float> acc( "m" );
129  // return acc( *this );
130  return p4().M();
131 }
132 
133 double PanTau::PanTauSeed::e() const{
134  return p4().E();
135 }
136 
138  return p4().Rapidity();
139 }
140 
142  return m_p4;
143 }
144 
145 void PanTau::PanTauSeed::setP4(float pt, float eta, float phi, float m){
146  static const Accessor< float > acc1( "pt" );
147  acc1( *this ) = pt;
148  static const Accessor< float > acc2( "eta" );
149  acc2( *this ) = eta;
150  static const Accessor< float > acc3( "phi" );
151  acc3( *this ) = phi;
152  static const Accessor< float > acc4( "m" );
153  acc4( *this ) = m;
154  //Need to recalculate m_p4
155  m_p4.SetPtEtaPhiM( pt, eta, phi, m);
156 }
157 
159  static const Accessor< float > acc( "pt" );
160  acc( *this ) = pt;
161  //Need to recalculate m_p4
162  m_p4.SetPtEtaPhiM( pt, eta(), phi(), m());
163 }
164 
166  static const Accessor< float > acc( "eta" );
167  acc( *this ) = eta;
168  //Need to recalculate m_p4
169  m_p4.SetPtEtaPhiM( pt(), eta, phi(), m());
170 }
171 
173  static const Accessor< float > acc( "phi" );
174  acc( *this ) = phi;
175  //Need to recalculate m_p4
176  m_p4.SetPtEtaPhiM( pt(), eta(), phi, m());
177 }
178 
180  static const Accessor< float > acc( "m" );
181  acc( *this ) = m;
182  //Need to recalculate m_p4
183  m_p4.SetPtEtaPhiM( pt(), eta(), phi(), m);
184 }
185 
186 
188  return xAOD::Type::Tau;
189 }
190 
191 
192 
194 PanTau::PanTauSeed::PanTauSeed( const std::string& nameInputAlgorithm,
195  xAOD::TauJet* tauJet,
196  const std::vector<PanTau::TauConstituent*>& tauConstituents,
197  const std::vector<PanTau::TauConstituent*>& tauConstituentsAll,
198  const std::vector<int>& pantauSeed_TechnicalQuality
199  )
200  :
201  IParticle()
202 {
203 
204  // *This may be a bug!!! change to Set*Pt*EtaPhiM?? ***
205  // PanTau::SetP4EEtaPhiM( m_p4, tauJet->ptIntermediateAxis() * cosh( tauJet->etaIntermediateAxis() ), tauJet->etaIntermediateAxis(), tauJet->phiIntermediateAxis(), tauJet->mIntermediateAxis() );
206  m_p4.SetPtEtaPhiM(tauJet->ptIntermediateAxis(), tauJet->etaIntermediateAxis(), tauJet->phiIntermediateAxis(), tauJet->mIntermediateAxis() );
207  m_IsValidSeed = true;
208  m_TechnicalQuality = pantauSeed_TechnicalQuality;
209  m_NameInputAlgorithm = nameInputAlgorithm;
210  m_TauJet = tauJet;
213 
214  //save a copy of the flat constituents list and also split into core/wide constituents
215  m_ConstituentsList_All = tauConstituentsAll;
216  m_ConstituentsList_AllSelected = tauConstituents; //all types are in here, this is the complete list
217  for(unsigned int iConst=0; iConst<tauConstituents.size(); iConst++) {
218  bool isCoreChrg = tauConstituents[iConst]->isOfType(PanTau::TauConstituent::t_Charged);
219  bool isCoreNeut = tauConstituents[iConst]->isOfType(PanTau::TauConstituent::t_Neutral);
220  bool isCorePi0 = tauConstituents[iConst]->isOfType(PanTau::TauConstituent::t_Pi0Neut);
221 
222  if(isCoreChrg || isCoreNeut || isCorePi0) m_ConstituentsList_Core.push_back(tauConstituents[iConst]); // Core only contains the currently used objects
223 
224  bool isWideChrg = tauConstituents[iConst]->isOfType(PanTau::TauConstituent::t_OutChrg);
225  bool isWideNeut = tauConstituents[iConst]->isOfType(PanTau::TauConstituent::t_OutNeut);
226  if(isWideChrg || isWideNeut) m_ConstituentsList_Wide.push_back(tauConstituents[iConst]); // Wide contains objectsin 0.2-0.4
227  }
228 
229  //create the constituents lists
230  for(int iType=0; iType<PanTau::TauConstituent::t_nTypes; iType++) {
231  m_Constituents.emplace_back(0 );
232  m_TypeHLVs.emplace_back(0,0,0,0 );
233  }
234 
235  //assign tauConstituents
236  TLorentzVector hlv_SumConstituents_Wide = TLorentzVector(0,0,0,0);
237  TLorentzVector hlv_SumConstituents_Core = TLorentzVector(0,0,0,0);
238 
239  int nCharged = 0;
240  int nPi0Neut = 0;
241 
242  for(unsigned int iConst=0; iConst<tauConstituents.size(); iConst++) {
243  PanTau::TauConstituent* curConst = tauConstituents.at(iConst);
244  std::vector<int> curTypes = curConst->getTypeFlags();
245 
246  for(unsigned int curType=0; curType<curTypes.size(); curType++) {
247  if(curTypes.at(curType) == 0) continue;
248 
249  if(curType == (int)PanTau::TauConstituent::t_Charged) nCharged++;
250  if(curType == (int)PanTau::TauConstituent::t_Pi0Neut) nPi0Neut++;
251 
252  if((unsigned int)curType >= m_Constituents.size()) {
253  continue;
254  }
255 
256  //fill into sorted lists
257  m_Constituents.at(curType).push_back(curConst);
258  m_TypeHLVs.at(curType) += curConst->p4();
259 
260  }//end loop over types
261 
262  //add each constituent to wide proto momentum
263  hlv_SumConstituents_Wide += curConst->p4();
264 
265  //add all charged and neutral constituents (i.e. from core region) to core proto momentum
266  if(curConst->isOfType(PanTau::TauConstituent::t_Charged)) {hlv_SumConstituents_Core += curConst->p4(); continue;}
267  if(curConst->isOfType(PanTau::TauConstituent::t_Pi0Neut)) {hlv_SumConstituents_Core += curConst->p4(); continue;}
268 
269  }//end loop over constituents
270 
271  m_ProtoMomentum_Wide = hlv_SumConstituents_Wide;
272  m_ProtoMomentum_Core = hlv_SumConstituents_Core;
273 
274  //set mode as obtained from subalg
277 
280  }
281 
282 }
283 
284 
286 PanTau::PanTauSeed::PanTauSeed(const std::string& nameInputAlgorithm,
287  xAOD::TauJet* tauJet,
288  const std::vector<int>& pantauSeed_TechnicalQuality)
289  :
290  IParticle(),
291  m_Constituents(),
292  m_TypeHLVs(),
293  m_ConstituentsList_AllSelected(),
294  m_ConstituentsList_All(),
295  m_DecayMode_BySubAlg(0),
296  m_DecayMode_ByPanTau(0),
297  m_decayModeHack_CellBasedShots(false)
298 {
299  // *This may be a bug!!! change to Set*Pt*EtaPhiM?? ***
300  // PanTau::SetP4EEtaPhiM( m_p4, tauJet->ptIntermediateAxis() * cosh( tauJet->etaIntermediateAxis() ), tauJet->etaIntermediateAxis(), tauJet->phiIntermediateAxis(), tauJet->mIntermediateAxis() );
301  m_p4.SetPtEtaPhiM(tauJet->ptIntermediateAxis(), tauJet->etaIntermediateAxis(), tauJet->phiIntermediateAxis(), tauJet->mIntermediateAxis() );
302  m_IsValidSeed = false;
303  m_TechnicalQuality = pantauSeed_TechnicalQuality;
304  m_NameInputAlgorithm = nameInputAlgorithm;
305  m_TauJet = tauJet;
307 }
308 
309 
311 
312  int decayMode;
313 
314  // 1 Prong modes
315  if(nCharged == 1 && nNeutral == 0) decayMode = (int)xAOD::TauJetParameters::Mode_1p0n;
316  else if(nCharged == 1 && nNeutral == 1) decayMode = (int)xAOD::TauJetParameters::Mode_1p1n;
317  else if(nCharged == 1 && nNeutral > 1) decayMode = (int)xAOD::TauJetParameters::Mode_1pXn;
318  // 3 prong modes
319  else if(nCharged == 3 && nNeutral == 0) decayMode = (int)xAOD::TauJetParameters::Mode_3p0n;
320  else if(nCharged == 3 && nNeutral > 0) decayMode = (int)xAOD::TauJetParameters::Mode_3pXn;
321  // other mode
322  else if(nCharged == 2) decayMode = (int)xAOD::TauJetParameters::Mode_Other;
323  else if(nCharged == 4) decayMode = (int)xAOD::TauJetParameters::Mode_Other;
324  else if(nCharged == 5) decayMode = (int)xAOD::TauJetParameters::Mode_Other;
325  else if(nCharged == 0) decayMode = (int)xAOD::TauJetParameters::Mode_NotSet;
326  else if(nCharged >= 6) decayMode = (int)xAOD::TauJetParameters::Mode_NotSet;
327  else decayMode = (int)xAOD::TauJetParameters::Mode_Error;
328 
329  return decayMode;
330 }
331 
332 
333 std::string PanTau::PanTauSeed::getDecayModeName(int decayMode) {
334 
336 
337  if(mode == xAOD::TauJetParameters::Mode_1p0n) return "1p0n";
338  if(mode == xAOD::TauJetParameters::Mode_1p1n) return "1p1n";
339  if(mode == xAOD::TauJetParameters::Mode_1pXn) return "1pXn";
340  if(mode == xAOD::TauJetParameters::Mode_3p0n) return "3p0n";
341  if(mode == xAOD::TauJetParameters::Mode_3pXn) return "3pXn";
342  if(mode == xAOD::TauJetParameters::Mode_Other) return "Other";
343  if(mode == xAOD::TauJetParameters::Mode_Error) return "Error";
344  if(mode == xAOD::TauJetParameters::Mode_NotSet) return "NotSet";
345  return "InvalidMode!!!";
346 }
347 
348 
349 bool PanTau::PanTauSeed::isOfTechnicalQuality(int pantauSeed_TechnicalQuality) const {
350  if(pantauSeed_TechnicalQuality > PanTau::PanTauSeed::t_nTechnicalQualities) {
351  return false;
352  }
353  if(m_TechnicalQuality[pantauSeed_TechnicalQuality] == 1) return true;
354  return false;
355 }
356 
357 
358 std::vector<PanTau::TauConstituent*> PanTau::PanTauSeed::getConstituentsOfType(int tauConstituent_Type, bool& foundit) {
359  if(tauConstituent_Type > PanTau::TauConstituent::t_nTypes) {
360  foundit = false;
361  return std::vector<TauConstituent*>(0);
362  }
363  foundit = true;
364  if(tauConstituent_Type == (int)PanTau::TauConstituent::t_NoType) return m_ConstituentsList_AllSelected;
365  return m_Constituents.at(tauConstituent_Type);
366 }
367 
368 
370  bool isOK = false;
371  std::vector<PanTau::TauConstituent*> consts = this->getConstituentsOfType(tauConstituent_Type, isOK);
372  if(isOK) {
373  return (int)consts.size();
374  }
375  return -1;
376 }
377 
378 
379 TLorentzVector PanTau::PanTauSeed::getSubsystemHLV(int tauConstituent_Type, bool& foundit) {
380  if(tauConstituent_Type > PanTau::TauConstituent::t_nTypes) {
381  foundit = false;
382  return {0,0,0,0};
383  }
384  foundit = true;
385  return m_TypeHLVs.at(tauConstituent_Type);
386 }
python.CaloBCIDAvgAlgConfig.acc3
def acc3
Definition: CaloBCIDAvgAlgConfig.py:69
xAOD::TauJetParameters::Mode_1p0n
@ Mode_1p0n
Definition: TauDefs.h:386
PanTauSeed.h
PanTau::PanTauSeed::type
virtual xAOD::Type::ObjectType type() const
The type of the object as a simple enumeration, remains pure virtual in e/gamma.
Definition: PanTauSeed.cxx:187
PanTau::PanTauSeed::m_decayModeHack_CellBasedShots
bool m_decayModeHack_CellBasedShots
Definition: PanTauSeed.h:210
PanTau::PanTauSeed::m_Constituents
std::vector< std::vector< PanTau::TauConstituent * > > m_Constituents
Definition: PanTauSeed.h:183
PanTau::TauConstituent::t_Neutral
@ t_Neutral
Definition: TauConstituent.h:45
xAOD::TauJetParameters::Mode_1p1n
@ Mode_1p1n
Definition: TauDefs.h:387
PanTau::PanTauSeed::FourMom_t
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
Definition: PanTauSeed.h:90
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
PanTau::PanTauSeed::setPt
void setPt(float pt)
set the Pt
Definition: PanTauSeed.cxx:158
PanTau::PanTauSeed::m_ConstituentsList_AllSelected
std::vector< PanTau::TauConstituent * > m_ConstituentsList_AllSelected
Definition: PanTauSeed.h:200
PanTau::PanTauSeed::getSubsystemHLV
TLorentzVector getSubsystemHLV(int tauConstituent_Type, bool &foundit)
Definition: PanTauSeed.cxx:379
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
xAOD::TauJet_v3::phiIntermediateAxis
double phiIntermediateAxis() const
PanTau::TauConstituent::t_Charged
@ t_Charged
Definition: TauConstituent.h:44
ObjectType
ObjectType
Definition: BaseObject.h:11
SG::Accessor< float >
xAOD::TauJet_v3::etaIntermediateAxis
double etaIntermediateAxis() const
xAOD::TauJetParameters::nCharged
@ nCharged
Definition: TauDefs.h:266
PanTau::PanTauSeed::getConstituentsOfType
std::vector< PanTau::TauConstituent * > getConstituentsOfType(int tauConstituent_Type, bool &foundit)
Definition: PanTauSeed.cxx:358
PanTau::PanTauSeed::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.
Definition: PanTauSeed.cxx:121
PanTau::PanTauSeed::t_NoValidInputTau
@ t_NoValidInputTau
Definition: PanTauSeed.h:34
CSV_InDetExporter.new
new
Definition: CSV_InDetExporter.py:145
test_pyathena.pt
pt
Definition: test_pyathena.py:11
PanTau::PanTauSeed::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Definition: PanTauSeed.cxx:115
PanTau::TauConstituent::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle as a TLorentzVector.
Definition: TauConstituent.cxx:100
PanTau::PanTauSeed::m_DecayMode_BySubAlg
int m_DecayMode_BySubAlg
Definition: PanTauSeed.h:207
PanTau::TauFeature
Definition: TauFeature.h:19
PanTau::PanTauSeed::setEta
void setEta(float eta)
set the eta
Definition: PanTauSeed.cxx:165
TauConstituent.h
PanTau::PanTauSeed::m_IsValidSeed
bool m_IsValidSeed
Definition: PanTauSeed.h:171
PanTau::PanTauSeed::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle as a TLoretzVector.
Definition: PanTauSeed.cxx:141
PanTau::PanTauSeed::m_Features
PanTau::TauFeature * m_Features
flag to indicate whether the decay mode by cellbased was
Definition: PanTauSeed.h:215
xAOD::TauJetParameters::Mode_1pXn
@ Mode_1pXn
Definition: TauDefs.h:388
PanTau::PanTauSeed::m_p4
FourMom_t m_p4
4-momentum object
Definition: PanTauSeed.h:166
xAOD::TauJetParameters::DecayMode
DecayMode
Definition: TauDefs.h:385
PanTau::TauConstituent::t_OutNeut
@ t_OutNeut
Definition: TauConstituent.h:48
PanTau::PanTauSeed::rapidity
virtual double rapidity() const
The true rapidity (y) of the particle.
Definition: PanTauSeed.cxx:137
PanTau::PanTauSeed::m_NameInputAlgorithm
std::string m_NameInputAlgorithm
Definition: PanTauSeed.h:176
PanTau::PanTauSeed::t_nTechnicalQualities
@ t_nTechnicalQualities
Definition: PanTauSeed.h:39
python.CaloBCIDAvgAlgConfig.acc1
def acc1
Definition: CaloBCIDAvgAlgConfig.py:49
PanTau::PanTauSeed::m_TypeHLVs
std::vector< TLorentzVector > m_TypeHLVs
Definition: PanTauSeed.h:195
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
python.CaloBCIDAvgAlgConfig.acc2
def acc2
Definition: CaloBCIDAvgAlgConfig.py:59
AthenaPoolTestRead.acc
acc
Definition: AthenaPoolTestRead.py:16
Preparation.mode
mode
Definition: Preparation.py:94
PanTau::PanTauSeed::operator=
PanTauSeed & operator=(const PanTauSeed &seed)
Definition: PanTauSeed.cxx:81
PanTau::PanTauSeed::~PanTauSeed
~PanTauSeed()
Definition: PanTauSeed.cxx:33
PanTau::PanTauSeed::m_ConstituentsList_Wide
std::vector< PanTau::TauConstituent * > m_ConstituentsList_Wide
Definition: PanTauSeed.h:199
python.LArRecUtilsConfig.acc4
def acc4
Definition: LArRecUtilsConfig.py:196
PanTau::PanTauSeed::m_ConstituentsList_All
std::vector< PanTau::TauConstituent * > m_ConstituentsList_All
Definition: PanTauSeed.h:204
xAOD::TauJetParameters::Mode_3p0n
@ Mode_3p0n
Definition: TauDefs.h:389
PanTau::PanTauSeed::PanTauSeed
PanTauSeed()
Definition: PanTauSeed.cxx:10
PanTau::PanTauSeed::m_ProtoMomentum_Wide
TLorentzVector m_ProtoMomentum_Wide
Definition: PanTauSeed.h:186
PanTau::PanTauSeed::m_TauJet
xAOD::TauJet * m_TauJet
Definition: PanTauSeed.h:179
PanTau::TauConstituent::isOfType
bool isOfType(TauConstituent::Type aType) const
Definition: TauConstituent.cxx:220
PanTau::PanTauSeed::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
Definition: PanTauSeed.cxx:109
PanTau::PanTauSeed::m_DecayMode_ByPanTau
int m_DecayMode_ByPanTau
Definition: PanTauSeed.h:208
PanTau::TauConstituent::t_Pi0Neut
@ t_Pi0Neut
Definition: TauConstituent.h:46
PanTau::PanTauSeed::m_TechnicalQuality
std::vector< int > m_TechnicalQuality
Definition: PanTauSeed.h:173
PanTau::PanTauSeed::getDecayMode
static int getDecayMode(int nCharged, int nNeutral)
Definition: PanTauSeed.cxx:310
PanTau::PanTauSeed::getNumberOfConstituentsOfType
int getNumberOfConstituentsOfType(int tauConstituent_Type)
Definition: PanTauSeed.cxx:369
PanTau
xAOD EDM
Definition: Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h:18
xAOD::TauJet_v3::mIntermediateAxis
double mIntermediateAxis() const
PanTau::PanTauSeed::setM
void setM(float m)
set the Mass
Definition: PanTauSeed.cxx:179
PanTau::PanTauSeed::isOfTechnicalQuality
bool isOfTechnicalQuality(int pantauSeed_TechnicalQuality) const
Definition: PanTauSeed.cxx:349
PanTau::TauConstituent::t_NoType
@ t_NoType
Definition: TauConstituent.h:43
TauJet.h
PanTau::PanTauSeed::m_ProtoMomentum_Core
TLorentzVector m_ProtoMomentum_Core
Definition: PanTauSeed.h:189
PanTau::PanTauSeed::setPhi
void setPhi(float phi)
set the phi
Definition: PanTauSeed.cxx:172
PanTau::PanTauSeed::m_ConstituentsList_Core
std::vector< PanTau::TauConstituent * > m_ConstituentsList_Core
Definition: PanTauSeed.h:198
xAOD::TauJetParameters::Mode_3pXn
@ Mode_3pXn
Definition: TauDefs.h:390
xAODType::Tau
@ Tau
The object is a tau (jet)
Definition: ObjectType.h:49
PanTau::TauConstituent::t_nTypes
@ t_nTypes
Definition: TauConstituent.h:51
PanTau::PanTauSeed::m
virtual double m() const
The invariant mass of the particle.
Definition: PanTauSeed.cxx:127
xAOD::TauJetParameters::Mode_Error
@ Mode_Error
Definition: TauDefs.h:393
PanTau::TauConstituent
Definition: TauConstituent.h:25
xAOD::TauJet_v3::ptIntermediateAxis
double ptIntermediateAxis() const
PanTau::TauConstituent::t_OutChrg
@ t_OutChrg
Definition: TauConstituent.h:47
xAOD::TauJetParameters::Mode_NotSet
@ Mode_NotSet
Definition: TauDefs.h:392
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43
PanTau::TauConstituent::getTypeFlags
std::vector< int > getTypeFlags() const
Definition: TauConstituent.cxx:215
PanTau::PanTauSeed::setP4
void setP4(float pt, float eta, float phi, float m)
set the 4-vec
Definition: PanTauSeed.cxx:145
PanTau::PanTauSeed::getDecayModeName
static std::string getDecayModeName(int decayMode)
Definition: PanTauSeed.cxx:333
xAOD::TauJetParameters::Mode_Other
@ Mode_Other
Definition: TauDefs.h:391
PanTau::PanTauSeed
Definition: PanTauSeed.h:24
PanTau::PanTauSeed::e
virtual double e() const
The total energy of the particle.
Definition: PanTauSeed.cxx:133