ATLAS Offline Software
TauCommonExtraDetails.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
14 
15 #ifndef TAUEVENT_TAUCOMMONEXTRADETAILS_H
16 #define TAUEVENT_TAUCOMMONEXTRADETAILS_H
17 
18 //TauEvent includes
19 #include "tauEvent/TauDetails.h"
20 //Other inlcudes
21 #include "AthLinks/ElementLink.h"
23 //Standard C/C++ includes
24 #include <vector>
25 
26 namespace Analysis {
27 
33  friend class TauJet;
34  public:
35  //-----------------------------------------------------------------
36  // Constructors, destructor, operators
37  //-----------------------------------------------------------------
38 
41 
45  const TauCommonExtraDetails& rhs );
46 
48  virtual ~TauCommonExtraDetails();
49 
54  const TauCommonExtraDetails& rhs );
55 
59  bool operator==( const TauCommonExtraDetails& rhs ) const;
60 
64  bool operator!=( const TauCommonExtraDetails& rhs ) const;
65 
68  virtual const std::string& className() const;
69 
74  unsigned int tracks,
75  unsigned int samplings );
76 
78  // Private member accessors
80 
81  //
82  // Common for track and calo seeded tau reconstruction
83  //
84 
85  // ---------------------------------------------------------------
88 
89 
92  double sumPtLooseTrk() const;
93 
97  double pt);
98 
100 
103 
106  double sumPtTrk() const;
107 
111  double pt);
112 
114 
117 
120  const std::vector<std::vector<ElementLink<CaloCellContainer> > >&
122 
125  std::vector<std::vector<ElementLink<CaloCellContainer> > >&
127 
131  int itrk,
132  int num ) const;
133 
137  const std::vector<std::vector<ElementLink<CaloCellContainer> > >&
139 
140  //Set closest eta vector by element
141  //@param closestEtaTrkVertCell closest eta vector
143  const CaloCell *val,
144  const CaloCellContainer *cont,
145  int itrk,
146  int num );
147 
149 
152 
155  const std::vector<std::vector<ElementLink<CaloCellContainer> > >&
157 
160  std::vector<std::vector<ElementLink<CaloCellContainer> > >&
162 
166  int itrk,
167  int num ) const;
168 
172  const std::vector<std::vector<ElementLink<CaloCellContainer> > >&
174 
175  //Set closest phi vector by element
176  //@param closestPhiTrkVertCell closest phi vector
178  const CaloCell *val,
179  const CaloCellContainer *cont,
180  int itrk,
181  int num );
182 
184 
187 
190  const std::vector<std::vector<ElementLink<CaloCellContainer> > >&
192 
195  std::vector<std::vector<ElementLink<CaloCellContainer> > >&
197 
200  const CaloCell *closestEtaTrkCell( int itrk, int num ) const;
201 
205  const std::vector<std::vector<ElementLink<CaloCellContainer> > >&
207 
208  //Set closest eta vector by element
209  //@param closestEtaTrkCell closest eta vector
211  const CaloCell *val,
212  const CaloCellContainer *cont,
213  int itrk,
214  int num );
215 
217 
220 
223  const std::vector<std::vector<ElementLink<CaloCellContainer> > >&
225 
228  std::vector<std::vector<ElementLink<CaloCellContainer> > >&
230 
233  const CaloCell *closestPhiTrkCell( int itrk, int num ) const;
234 
238  const std::vector<std::vector<ElementLink<CaloCellContainer> > >&
240 
241  //Set closest eta vector by element
242  //@param closestPhiTrkCell closest eta vector
244  const CaloCell *val,
245  const CaloCellContainer *cont,
246  int itrk,
247  int num );
248 
250 
253 
256  const std::vector<std::vector<double> > &
257  etaTrkCaloSamp() const;
258 
261  std::vector<std::vector<double> > &
263 
267  const std::vector<std::vector<double> > &etaTrkCaloSamp);
268 
270 
273 
276  const std::vector<std::vector<double> > &
277  phiTrkCaloSamp() const;
278 
281  std::vector<std::vector<double> > &
283 
287  const std::vector<std::vector<double> > &phiTrkCaloSamp);
288 
289 
290 
292 
295 
298  const std::vector<std::vector<double> > &
300 
303  std::vector<std::vector<double> > &
305 
309  const std::vector<std::vector<double> > &etaLooseTrkCaloSamp);
310 
312 
315 
318  const std::vector<std::vector<double> > &
320 
323  std::vector<std::vector<double> > &
325 
329  const std::vector<std::vector<double> > &phiLooseTrkCaloSamp);
330 
331 
332  //
333  // Applicable for calo seeded tau reconstruction
334  //
335 
337 
340 
343  int seedCalo_nEMCell() const;
344 
348  int n);
349 
351 
354 
357  double seedCalo_stripEt() const;
358 
362  double et);
363 
365 
368 
371  double seedCalo_EMCentFrac() const;
372 
376  double fraction);
377 
379 
382 
385  double seedCalo_sumCellEnergy() const;
386 
390  double energy);
391 
393 
396 
399  double seedCalo_sumEMCellEnergy() const;
400 
404  double energy);
405 
407 
408  protected:
411  template <class stream>
412  void printOn(stream& o) const;
413 
414  private:
416  static const std::string s_className;
417 
418  // -------------------------------------------------------------------
420 
421 
424 
426  double m_sumPtTrk;
427 
431  std::vector<std::vector<ElementLink<CaloCellContainer> > >
433 
437  std::vector<std::vector<ElementLink<CaloCellContainer> > >
439 
443  std::vector<std::vector<ElementLink<CaloCellContainer> > >
445 
449  std::vector<std::vector<ElementLink<CaloCellContainer> > >
451 
455  std::vector<std::vector<double> > m_etaTrkCaloSamp;
456 
460  std::vector<std::vector<double> > m_phiTrkCaloSamp;
461 
462 
466  std::vector<std::vector<double> > m_etaLooseTrkCaloSamp;
467 
471  std::vector<std::vector<double> > m_phiLooseTrkCaloSamp;
472 
473 
475 
477 
482 
487 
492 
497 
503 
505 
506  }; //class TauCommonExtraDetails
507 
508 } //Namespace Analysis
509 
510 #include "TauCommonExtraDetails.icc"
511 
512 #endif //TAUEVENT_TAUCOMMONEXTRADETAILS_H
Analysis::TauCommonExtraDetails::m_closestPhiTrkCell
std::vector< std::vector< ElementLink< CaloCellContainer > > > m_closestPhiTrkCell
Closest cell to track position from extrapolation in phi.
Definition: TauCommonExtraDetails.h:450
Analysis::TauCommonExtraDetails::operator==
bool operator==(const TauCommonExtraDetails &rhs) const
Equality operator.
Definition: TauCommonExtraDetails.cxx:100
Analysis::TauCommonExtraDetails::setSumPtLooseTrk
void setSumPtLooseTrk(double pt)
Set sum of p_T for loose tracks.
et
Extra patterns decribing particle interation process.
Analysis::TauCommonExtraDetails::closestPhiTrkCell
std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestPhiTrkCell()
Get closest phi vector.
Analysis::TauCommonExtraDetails::seedCalo_sumCellEnergy
double seedCalo_sumCellEnergy() const
Get energy sum.
Analysis::TauCommonExtraDetails::setEtaTrkCaloSamp
void setEtaTrkCaloSamp(const std::vector< std::vector< double > > &etaTrkCaloSamp)
Set eta vector.
Analysis::TauCommonExtraDetails::m_closestPhiTrkVertCell
std::vector< std::vector< ElementLink< CaloCellContainer > > > m_closestPhiTrkVertCell
Closest cell to track position at vertex in phi.
Definition: TauCommonExtraDetails.h:438
Analysis::TauCommonExtraDetails::operator=
TauCommonExtraDetails & operator=(const TauCommonExtraDetails &rhs)
Assignment operator.
Definition: TauCommonExtraDetails.cxx:75
Analysis::TauCommonExtraDetails::setClosestEtaTrkVertCell
void setClosestEtaTrkVertCell(const CaloCell *val, const CaloCellContainer *cont, int itrk, int num)
Analysis::TauCommonExtraDetails::setSeedCalo_nEMCell
void setSeedCalo_nEMCell(int n)
Setumber of EM cells.
Analysis::TauCommonExtraDetails::setPhiLooseTrkCaloSamp
void setPhiLooseTrkCaloSamp(const std::vector< std::vector< double > > &phiLooseTrkCaloSamp)
Set phi vector.
Analysis::TauCommonExtraDetails::setSeedCalo_stripEt
void setSeedCalo_stripEt(double et)
Set sum of ET in strip layer.
Analysis::TauCommonExtraDetails::setSeedCalo_sumCellEnergy
void setSeedCalo_sumCellEnergy(double energy)
Set energy sum.
Analysis::TauCommonExtraDetails::TauCommonExtraDetails
TauCommonExtraDetails()
Default constructor.
Definition: TauCommonExtraDetails.cxx:30
Analysis::TauCommonExtraDetails::phiTrkCaloSamp
const std::vector< std::vector< double > > & phiTrkCaloSamp() const
Get phi vector.
Analysis::TauCommonExtraDetails::setClosestEtaTrkCell
void setClosestEtaTrkCell(const CaloCell *val, const CaloCellContainer *cont, int itrk, int num)
Analysis::TauCommonExtraDetails::etaTrkCaloSamp
std::vector< std::vector< double > > & etaTrkCaloSamp()
Get eta vector.
Analysis::TauCommonExtraDetails::setClosestEtaTrkCell
void setClosestEtaTrkCell(const std::vector< std::vector< ElementLink< CaloCellContainer > > > &closestEtaTrkCell)
Set closest eta vector.
Analysis::TauCommonExtraDetails::setPhiTrkCaloSamp
void setPhiTrkCaloSamp(const std::vector< std::vector< double > > &phiTrkCaloSamp)
Set phi vector.
test_pyathena.pt
pt
Definition: test_pyathena.py:11
Analysis::TauCommonExtraDetails::closestPhiTrkVertCell
const std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestPhiTrkVertCell() const
Get closest phi vector.
Analysis::TauCommonExtraDetails::sumPtLooseTrk
double sumPtLooseTrk() const
Get sum of p_T for loose tracks.
Analysis::TauCommonExtraDetails::etaLooseTrkCaloSamp
const std::vector< std::vector< double > > & etaLooseTrkCaloSamp() const
Get eta vector.
Analysis::TauCommonExtraDetails::seedCalo_stripEt
double seedCalo_stripEt() const
Get sum of ET in strip layer.
Analysis::TauCommonExtraDetails::setClosestPhiTrkVertCell
void setClosestPhiTrkVertCell(const CaloCell *val, const CaloCellContainer *cont, int itrk, int num)
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
Analysis::TauCommonExtraDetails::m_phiTrkCaloSamp
std::vector< std::vector< double > > m_phiTrkCaloSamp
Phi of extrapolation point in EM Calo.
Definition: TauCommonExtraDetails.h:460
Analysis::TauCommonExtraDetails::operator!=
bool operator!=(const TauCommonExtraDetails &rhs) const
Inequality operator.
TauDetails.h
Analysis::TauDetails
Definition: TauDetails.h:26
Analysis::TauCommonExtraDetails::closestPhiTrkVertCell
std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestPhiTrkVertCell()
Get closest phi vector.
Analysis::TauCommonExtraDetails
Extra detail class containing information for track and calo seeded tau reconstruction algorithms.
Definition: TauCommonExtraDetails.h:31
Analysis::TauCommonExtraDetails::m_seedCalo_stripEt
double m_seedCalo_stripEt
Uncalibrated sum of ET in the strip layer within dR < 0.4.
Definition: TauCommonExtraDetails.h:486
Analysis::TauCommonExtraDetails::phiTrkCaloSamp
std::vector< std::vector< double > > & phiTrkCaloSamp()
Get phi vector.
Analysis::TauCommonExtraDetails::m_etaTrkCaloSamp
std::vector< std::vector< double > > m_etaTrkCaloSamp
Eta of extrapolation point in EM Calo.
Definition: TauCommonExtraDetails.h:455
Analysis::TauCommonExtraDetails::setClosestPhiTrkCell
void setClosestPhiTrkCell(const std::vector< std::vector< ElementLink< CaloCellContainer > > > &closestPhiTrkCell)
Set closest phi vector.
Analysis::TauCommonExtraDetails::phiLooseTrkCaloSamp
const std::vector< std::vector< double > > & phiLooseTrkCaloSamp() const
Get phi vector.
Analysis::TauCommonExtraDetails::seedCalo_sumEMCellEnergy
double seedCalo_sumEMCellEnergy() const
Get EM energy sum.
Analysis::TauCommonExtraDetails::~TauCommonExtraDetails
virtual ~TauCommonExtraDetails()
Virtual destructor.
Definition: TauCommonExtraDetails.cxx:70
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
Analysis::TauCommonExtraDetails::closestEtaTrkVertCell
const std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestEtaTrkVertCell() const
Get closest eta vector.
beamspotman.n
n
Definition: beamspotman.py:731
Analysis::TauCommonExtraDetails::phiLooseTrkCaloSamp
std::vector< std::vector< double > > & phiLooseTrkCaloSamp()
Get phi vector.
Analysis::TauCommonExtraDetails::m_closestEtaTrkCell
std::vector< std::vector< ElementLink< CaloCellContainer > > > m_closestEtaTrkCell
Closest cell to track position from extrapolation in eta.
Definition: TauCommonExtraDetails.h:444
Analysis::TauJet
Object for taus common for ESD and AOD.
Definition: Reconstruction/tauEvent/tauEvent/TauJet.h:61
Analysis::TauCommonExtraDetails::className
virtual const std::string & className() const
Get name of class.
Definition: TauCommonExtraDetails.cxx:170
Analysis::TauCommonExtraDetails::closestEtaTrkVertCell
std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestEtaTrkVertCell()
Get closest eta vector.
Analysis::TauCommonExtraDetails::seedCalo_EMCentFrac
double seedCalo_EMCentFrac() const
Set EM Centrality Fraction.
Analysis::TauCommonExtraDetails::allocTracksAndSamplings
void allocTracksAndSamplings(unsigned int tracks, unsigned int samplings)
Allocate data structures for given number of tracks and samplings.
Definition: TauCommonExtraDetails.cxx:140
Analysis::TauCommonExtraDetails::etaLooseTrkCaloSamp
std::vector< std::vector< double > > & etaLooseTrkCaloSamp()
Get eta vector.
Analysis::TauCommonExtraDetails::setSeedCalo_EMCentFrac
void setSeedCalo_EMCentFrac(double fraction)
Get EM Centrality Fraction.
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
Analysis::TauCommonExtraDetails::setClosestPhiTrkVertCell
void setClosestPhiTrkVertCell(const std::vector< std::vector< ElementLink< CaloCellContainer > > > &closestPhiTrkVertCell)
Set closest phi vector.
Analysis::TauCommonExtraDetails::setEtaLooseTrkCaloSamp
void setEtaLooseTrkCaloSamp(const std::vector< std::vector< double > > &etaLooseTrkCaloSamp)
Set eta vector.
Analysis::TauCommonExtraDetails::m_closestEtaTrkVertCell
std::vector< std::vector< ElementLink< CaloCellContainer > > > m_closestEtaTrkVertCell
Closest cell to track position at vertex in eta.
Definition: TauCommonExtraDetails.h:432
Analysis::TauCommonExtraDetails::closestPhiTrkCell
const std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestPhiTrkCell() const
Get closest phi vector.
Analysis::TauCommonExtraDetails::etaTrkCaloSamp
const std::vector< std::vector< double > > & etaTrkCaloSamp() const
Get eta vector.
Analysis::TauCommonExtraDetails::m_seedCalo_nEMCell
int m_seedCalo_nEMCell
Number of EM cells within dR < 0.4, with E > m_cellEthr.
Definition: TauCommonExtraDetails.h:481
CaloCellContainer.h
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
Analysis::TauCommonExtraDetails::m_phiLooseTrkCaloSamp
std::vector< std::vector< double > > m_phiLooseTrkCaloSamp
Phi of extrapolation point in EM Calo.
Definition: TauCommonExtraDetails.h:471
Analysis::TauCommonExtraDetails::m_sumPtLooseTrk
double m_sumPtLooseTrk
Sum of p_T for loose tracks.
Definition: TauCommonExtraDetails.h:423
Analysis::TauCommonExtraDetails::closestEtaTrkVertCell
const CaloCell * closestEtaTrkVertCell(int itrk, int num) const
Get CaloCell in closest eta vector.
Analysis::TauCommonExtraDetails::setSeedCalo_sumEMCellEnergy
void setSeedCalo_sumEMCellEnergy(double energy)
Set EM energy sum.
Analysis::TauCommonExtraDetails::m_etaLooseTrkCaloSamp
std::vector< std::vector< double > > m_etaLooseTrkCaloSamp
Eta of extrapolation point in EM Calo.
Definition: TauCommonExtraDetails.h:466
Analysis::TauCommonExtraDetails::seedCalo_nEMCell
int seedCalo_nEMCell() const
Get number of EM cells.
TauCommonExtraDetailsCnv_p1
Transient Persistent class converter for Analysis::TauCommonExtraDetails.
Definition: TauCommonExtraDetailsCnv_p1.h:31
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
Analysis::TauCommonExtraDetails::setClosestEtaTrkVertCell
void setClosestEtaTrkVertCell(const std::vector< std::vector< ElementLink< CaloCellContainer > > > &closestEtaTrkVertCell)
Set closest eta vector.
Analysis::TauCommonExtraDetails::sumPtTrk
double sumPtTrk() const
Get sum of p_T for loose tracks.
Analysis::TauCommonExtraDetails::m_seedCalo_sumEMCellEnergy
double m_seedCalo_sumEMCellEnergy
Energy sum of all em cells within dR < 0.4 (Presampler + EM1 + EM2)
Definition: TauCommonExtraDetails.h:502
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
Analysis::TauCommonExtraDetails::closestEtaTrkCell
const CaloCell * closestEtaTrkCell(int itrk, int num) const
Get CaloCell in closest eta vector.
Analysis::TauCommonExtraDetails::m_seedCalo_EMCentFrac
double m_seedCalo_EMCentFrac
EM Centrality Fraction (ET(dr<0.1)/ET(dr<0.4) for EM calos only.
Definition: TauCommonExtraDetails.h:491
Analysis::TauCommonExtraDetails::setSumPtTrk
void setSumPtTrk(double pt)
Set sum of p_T for loose tracks.
Analysis::TauCommonExtraDetails::closestPhiTrkCell
const CaloCell * closestPhiTrkCell(int itrk, int num) const
Get CaloCell in closest phi vector.
Analysis::TauCommonExtraDetails::s_className
static const std::string s_className
Name of class.
Definition: TauCommonExtraDetails.h:416
TauCommonExtraDetails.icc
Analysis::TauCommonExtraDetails::closestEtaTrkCell
const std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestEtaTrkCell() const
Get closest eta vector.
Analysis::TauCommonExtraDetails::closestEtaTrkCell
std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestEtaTrkCell()
Get closest eta vector.
Analysis::TauCommonExtraDetails::closestPhiTrkVertCell
const CaloCell * closestPhiTrkVertCell(int itrk, int num) const
Get CaloCell in closest phi vector.
Analysis::TauCommonExtraDetails::m_seedCalo_sumCellEnergy
double m_seedCalo_sumCellEnergy
Energy sum of all cells within dR < 0.4.
Definition: TauCommonExtraDetails.h:496
Analysis::TauCommonExtraDetails::m_sumPtTrk
double m_sumPtTrk
Sum of p_T for tracks.
Definition: TauCommonExtraDetails.h:426
Analysis::TauCommonExtraDetails::printOn
void printOn(stream &o) const
Printing function.
Analysis::TauCommonExtraDetails::setClosestPhiTrkCell
void setClosestPhiTrkCell(const CaloCell *val, const CaloCellContainer *cont, int itrk, int num)