ATLAS Offline Software
Loading...
Searching...
No Matches
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
26namespace 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
102
103
106 double sumPtTrk() const;
107
111 double pt);
112
114
116
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
151
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
186
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
219
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
252
253
256 const std::vector<std::vector<double> > &
258
261 std::vector<std::vector<double> > &
263
267 const std::vector<std::vector<double> > &etaTrkCaloSamp);
268
270
272
273
276 const std::vector<std::vector<double> > &
278
281 std::vector<std::vector<double> > &
283
287 const std::vector<std::vector<double> > &phiTrkCaloSamp);
288
289
290
292
294
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
314
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
339
340
343 int seedCalo_nEMCell() const;
344
348 int n);
349
351
353
354
357 double seedCalo_stripEt() const;
358
362 double et);
363
365
367
368
371 double seedCalo_EMCentFrac() const;
372
376 double fraction);
377
379
381
382
386
390 double energy);
391
393
395
396
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
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
511
512#endif //TAUEVENT_TAUCOMMONEXTRADETAILS_H
Declaration of tau details base class.
void setSumPtLooseTrk(double pt)
Set sum of p_T for loose tracks.
double m_seedCalo_stripEt
Uncalibrated sum of ET in the strip layer within dR < 0.4.
friend class TauJet
Definition of the current "tau version".
void setClosestEtaTrkVertCell(const CaloCell *val, const CaloCellContainer *cont, int itrk, int num)
const std::vector< std::vector< double > > & etaLooseTrkCaloSamp() const
Get eta vector.
const std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestEtaTrkCell() const
Get closest eta vector.
double m_seedCalo_EMCentFrac
EM Centrality Fraction (ET(dr<0.1)/ET(dr<0.4) for EM calos only.
std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestPhiTrkCell()
Get closest phi vector.
std::vector< std::vector< double > > & etaLooseTrkCaloSamp()
Get eta vector.
std::vector< std::vector< double > > m_etaTrkCaloSamp
Eta of extrapolation point in EM Calo.
void setPhiTrkCaloSamp(const std::vector< std::vector< double > > &phiTrkCaloSamp)
Set phi vector.
const std::vector< std::vector< double > > & etaTrkCaloSamp() const
Get eta vector.
void setSeedCalo_nEMCell(int n)
Setumber of EM cells.
virtual const std::string & className() const
Get name of class.
std::vector< std::vector< ElementLink< CaloCellContainer > > > m_closestEtaTrkVertCell
Closest cell to track position at vertex in eta.
double m_seedCalo_sumEMCellEnergy
Energy sum of all em cells within dR < 0.4 (Presampler + EM1 + EM2)
const CaloCell * closestEtaTrkCell(int itrk, int num) const
Get CaloCell in closest eta vector.
std::vector< std::vector< ElementLink< CaloCellContainer > > > m_closestEtaTrkCell
Closest cell to track position from extrapolation in eta.
std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestEtaTrkVertCell()
Get closest eta vector.
std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestPhiTrkVertCell()
Get closest phi vector.
void setSeedCalo_stripEt(double et)
Set sum of ET in strip layer.
bool operator==(const TauCommonExtraDetails &rhs) const
Equality operator.
void setClosestPhiTrkCell(const std::vector< std::vector< ElementLink< CaloCellContainer > > > &closestPhiTrkCell)
Set closest phi vector.
int m_seedCalo_nEMCell
Number of EM cells within dR < 0.4, with E > m_cellEthr.
std::vector< std::vector< double > > & etaTrkCaloSamp()
Get eta vector.
void setClosestEtaTrkVertCell(const std::vector< std::vector< ElementLink< CaloCellContainer > > > &closestEtaTrkVertCell)
Set closest eta vector.
double m_sumPtLooseTrk
Sum of p_T for loose tracks.
void setSeedCalo_EMCentFrac(double fraction)
Get EM Centrality Fraction.
double seedCalo_sumCellEnergy() const
Get energy sum.
double seedCalo_sumEMCellEnergy() const
Get EM energy sum.
const std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestPhiTrkCell() const
Get closest phi vector.
void setSeedCalo_sumCellEnergy(double energy)
Set energy sum.
double sumPtTrk() const
Get sum of p_T for loose tracks.
void allocTracksAndSamplings(unsigned int tracks, unsigned int samplings)
Allocate data structures for given number of tracks and samplings.
const CaloCell * closestPhiTrkCell(int itrk, int num) const
Get CaloCell in closest phi vector.
const std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestEtaTrkVertCell() const
Get closest eta vector.
bool operator!=(const TauCommonExtraDetails &rhs) const
Inequality operator.
const std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestPhiTrkVertCell() const
Get closest phi vector.
std::vector< std::vector< ElementLink< CaloCellContainer > > > & closestEtaTrkCell()
Get closest eta vector.
void setPhiLooseTrkCaloSamp(const std::vector< std::vector< double > > &phiLooseTrkCaloSamp)
Set phi vector.
void setClosestEtaTrkCell(const std::vector< std::vector< ElementLink< CaloCellContainer > > > &closestEtaTrkCell)
Set closest eta vector.
void printOn(stream &o) const
Printing function.
void setEtaLooseTrkCaloSamp(const std::vector< std::vector< double > > &etaLooseTrkCaloSamp)
Set eta vector.
std::vector< std::vector< double > > m_phiLooseTrkCaloSamp
Phi of extrapolation point in EM Calo.
std::vector< std::vector< ElementLink< CaloCellContainer > > > m_closestPhiTrkVertCell
Closest cell to track position at vertex in phi.
void setEtaTrkCaloSamp(const std::vector< std::vector< double > > &etaTrkCaloSamp)
Set eta vector.
std::vector< std::vector< double > > m_phiTrkCaloSamp
Phi of extrapolation point in EM Calo.
void setClosestPhiTrkCell(const CaloCell *val, const CaloCellContainer *cont, int itrk, int num)
void setClosestPhiTrkVertCell(const CaloCell *val, const CaloCellContainer *cont, int itrk, int num)
const CaloCell * closestPhiTrkVertCell(int itrk, int num) const
Get CaloCell in closest phi vector.
virtual ~TauCommonExtraDetails()
Virtual destructor.
void setSumPtTrk(double pt)
Set sum of p_T for loose tracks.
const std::vector< std::vector< double > > & phiLooseTrkCaloSamp() const
Get phi vector.
void setClosestPhiTrkVertCell(const std::vector< std::vector< ElementLink< CaloCellContainer > > > &closestPhiTrkVertCell)
Set closest phi vector.
double m_sumPtTrk
Sum of p_T for tracks.
std::vector< std::vector< double > > & phiTrkCaloSamp()
Get phi vector.
static const std::string s_className
Name of class.
int seedCalo_nEMCell() const
Get number of EM cells.
double m_seedCalo_sumCellEnergy
Energy sum of all cells within dR < 0.4.
void setSeedCalo_sumEMCellEnergy(double energy)
Set EM energy sum.
double seedCalo_EMCentFrac() const
Set EM Centrality Fraction.
void setClosestEtaTrkCell(const CaloCell *val, const CaloCellContainer *cont, int itrk, int num)
std::vector< std::vector< double > > m_etaLooseTrkCaloSamp
Eta of extrapolation point in EM Calo.
double seedCalo_stripEt() const
Get sum of ET in strip layer.
std::vector< std::vector< double > > & phiLooseTrkCaloSamp()
Get phi vector.
TauCommonExtraDetails & operator=(const TauCommonExtraDetails &rhs)
Assignment operator.
std::vector< std::vector< ElementLink< CaloCellContainer > > > m_closestPhiTrkCell
Closest cell to track position from extrapolation in phi.
const std::vector< std::vector< double > > & phiTrkCaloSamp() const
Get phi vector.
double sumPtLooseTrk() const
Get sum of p_T for loose tracks.
const CaloCell * closestEtaTrkVertCell(int itrk, int num) const
Get CaloCell in closest eta vector.
TauDetails()
Default constructor.
Container class for CaloCell.
Data object for each calorimeter readout cell.
Definition CaloCell.h:57
The namespace of all packages in PhysicsAnalysis/JetTagging.
Extra patterns decribing particle interation process.