17#ifndef TAU_REC_DETAILS_ANALYSIS_H
18#define TAU_REC_DETAILS_ANALYSIS_H
21#include "CLHEP/Vector/LorentzVector.h"
23#include "AthLinks/ElementLinkVector.h"
60 virtual const std::string&
className()
const;
149 const CLHEP::HepLorentzVector &
sumEM()
const;
169 const Trk :: RecVertex *
secVertex()
const;
223 const Rec :: TrackParticle *
looseTrack(
unsigned i )
const;
301 inline double TauRecDetails :: emRadius()
const
306 inline void TauRecDetails :: setEMRadius(
double emRadius )
311 inline double TauRecDetails :: hadRadius()
const
316 inline void TauRecDetails :: setHadRadius(
double HadRadius )
321 inline double TauRecDetails :: sumEmCellEt()
const
326 inline void TauRecDetails :: setSumEmCellEt(
double SumEmCellEt )
331 inline double TauRecDetails :: sumHadCellEt()
const
336 inline void TauRecDetails :: setSumHadCellEt(
double SumHadCellEt )
341 inline double TauRecDetails :: isolationFraction()
const
351 inline double TauRecDetails :: centralityFraction()
const
361 inline double TauRecDetails :: stripWidth2()
const
371 inline int TauRecDetails :: numStripCells()
const
382 inline double TauRecDetails :: ipSigLeadTrack()
const
392 inline double TauRecDetails :: etOverPtLeadTrack()
const
403 inline int TauRecDetails :: chargeLooseTracks( )
const
408 inline void TauRecDetails :: setChargeLooseTracks(
414 inline int TauRecDetails :: nTracksdrdR()
const
429 inline const CLHEP::HepLorentzVector &TauRecDetails :: sumEM()
const
434 inline void TauRecDetails :: setSumEM(
const CLHEP::HepLorentzVector &
sumEM )
439 inline double TauRecDetails :: etEMCalib()
const
444 inline void TauRecDetails :: setETEMCalib(
double etEMCalib )
449 inline double TauRecDetails :: etHadCalib()
const
454 inline void TauRecDetails :: setETHadCalib(
double etHadCalib )
462 inline const Trk :: RecVertex *TauRecDetails :: secVertex()
const
467 inline void TauRecDetails :: setSecVertex(
const Trk :: RecVertex *
secVertex )
473 inline void TauRecDetails :: setNumTrack(
unsigned n )
479 inline unsigned TauRecDetails :: numTrack()
const
484 inline double TauRecDetails :: trackCaloEta(
int i )
const
489 inline void TauRecDetails :: setTrackCaloEta(
int i,
double trackCaloEta )
494 inline double TauRecDetails :: trackCaloPhi(
int i )
const
499 inline void TauRecDetails :: setTrackCaloPhi(
int i,
double trackCaloPhi )
504 inline double TauRecDetails :: leadingTrackPT()
const
517 inline double TauRecDetails :: trFlightPathSig()
const
550 inline const Rec :: TrackParticle *TauRecDetails :: looseTrack(
unsigned i )
const
560 inline void TauRecDetails :: addLooseTrack(
const Rec :: TrackParticleContainer *cont,
561 const Rec :: TrackParticle *track )
568 inline unsigned TauRecDetails :: numLooseTrack()
const
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
Declaration of tau details base class.
TauDetails()
Default constructor.
friend class TauJet
Definition of the current "tau version".
double sumHadCellEt() const
Uncalibrated Sum of Cell Transverse energy in the HCAL.
void setTrFlightPathSig(double trFlightPathSig)
double trFlightPathSig() const
Transverse flight path significance for taus with reconstructed secondary vertex.
double etaCalo() const
eta of TauJet calculated from calorimeter (for merged algorithm)
double m_centralityFraction
double ipSigLeadTrack() const
Impact Parameter Significance of Leading Track.
void setNumStripCells(int numStripCells)
void setNTracksdrdR(int nTracksdrdR)
const Rec::TrackParticle * looseTrack(unsigned i) const
Accessor to loose tracks.
TauRecDetails()
Constructor.
void setCentralityFraction(double centralityFraction)
static const std::string s_className
void setLeadingTrackPT(double leadingTrackPT)
void setPhiCalo(double phi)
double m_etOverPtLeadTrack
void addLooseTrack(const Rec::TrackParticleContainer *cont, const Rec::TrackParticle *track)
Associate a loose track to a TauJet.
void setSecVertex(const Trk ::RecVertex *secVertex)
Secondary vertex.
double emRadius() const
Uncalibrated Et weighted radius in the Presampler + EM1 + EM2 within dR < 0.4.
void setSumEmCellEt(double SumEmCellEt)
double isolationFraction() const
Ratio of the uncalibrated transverse energy of cells within 0.1<dR<0.2 and cells within 0<dR<0....
virtual ~TauRecDetails()
Destructor.
double trackCaloEta(int i) const
eta of track i extrapolated to EM layer 2
void setIsolationFraction(double isolationFraction)
virtual double parameter(TauJetParameters ::Detail detail) const
backward compatibility accessor (do not use)
void setSumEM(const CLHEP::HepLorentzVector &sumEM)
int chargeLooseTracks() const
Charge of loose tracks.
int nTracksdrdR() const
Number of tracks pT>1GeV between dR = cmsdr and dR = cmsdR (from the jobOptions)
void setEtaCalo(double eta)
unsigned numLooseTrack() const
Number of Loose Tracks associated to the TauJet.
double etHadCalib() const
Calibrated HAD transverse energy, HAD is cryo + EM3 + TILE1 + TILE2 + TILE3.
std::vector< double > m_trackCaloPhi
void setETHadCalib(double etHadCalib)
double leadingTrackPT() const
PT of leading track - for Trigger.
double centralityFraction() const
Centrality fraction (ET(dr<0.1)/ET(dr<0.4) for all calos.
void setChargeLooseTracks(const int chargeLooseTracks)
Set the charge of loose tracks.
std::vector< double > m_trackCaloEta
double phiCalo() const
phi of TauJet calculated from calorimeter (for merged algorithm)
void setETEMCalib(double etEMCalib)
void setEMRadius(double EMRadius)
unsigned numTrack() const
only used internally for non-default tracks (original tauRec tracks)
int m_chargeLooseTracks
Charge of loose tracks.
void setNumTrack(unsigned n)
Trk::RecVertex * m_secVertex
virtual const std::string & className() const
void setTrackCaloEta(int i, double trackCaloEta)
double sumEmCellEt() const
Uncalibrated Sum of Cell Transverse energy in the Presampler + EM1 + EM2 within dR < 0....
void setTrackCaloPhi(int i, double trackCaloPhi)
double stripWidth2() const
Uncalibrated transverse energy weighted width in the strip layer within dR < 0.4.
friend class TauRecDetailsCnv_p1
void setEtOverPtLeadTrack(double etOverPtLeadTrack)
virtual bool hasParameter(TauJetParameters ::Detail detail) const
backward compatibility accessor (do not use)
double etEMCalib() const
Calibrated EM transverse energy, EM is Presampler + EM1 + EM2.
void setIpSigLeadTrack(double ipSigLeadTrack)
double trackCaloPhi(int i) const
phi of track i extrapolated to EM layer 2
const CLHEP::HepLorentzVector & sumEM() const
EM part of the energy (Presampler+EM1 and EM2+EM3 with no nearby track)
TauRecDetails & operator=(const TauRecDetails &rhs)
Assignment Operator.
const Trk::RecVertex * secVertex() const
ElementLinkVector< Rec::TrackParticleContainer > m_looseTracks
double etOverPtLeadTrack() const
Ratio of Transverse Energy of Tau Candidate to Transverse Momentum of Leading Track.
void setHadRadius(double HadRadius)
int numStripCells() const
Number of Strip cells within dR < 0.4, with energy above specified threshold.
void setSumHadCellEt(double SumHadCellEt)
double hadRadius() const
Uncalibrated HCAL weighted radius.
void setStripWidth2(double stripWidth2)
CLHEP::HepLorentzVector m_sumEM
ElementLinkVector< Rec::TrackParticleContainer > & looseTracks()
ElementLinkVector implementation for standalone ROOT.
ElementLink implementation for ROOT usage.
bool toContainedElement(BaseConstReference data, ElementType element, IProxyDict *sg=0)
Set from element pointer and a reference to the container (storable)
The namespace of all packages in PhysicsAnalysis/JetTagging.