58 TauJet :: TauJet(TauJetParameters :: Author
author):
96 m_tauID = new TauPID(*rhs.m_tauID);
105 IAthenaBarCode::operator=(rhs);
106 INavigable::operator=(rhs);
107 I4Momentum::operator=(rhs);
108 INavigable4Momentum::operator=(rhs);
193 if ( tauDetailsContainer != 0 ) {
195 if( (tau1P3PDetails != 0) || (tauRecDetails != 0) ) {
210 if (tauExtraDetailsContainer!=0) {
212 if( ( tau1P3PExtraDetails != 0) || (tauRecExtraDetails != 0)) {
224 if( (tauDetailsContainer!=0) && (tauCommonDetails!=0)) {
225 tauDetailsContainer->
push_back(tauCommonDetails);
226 addDetails(tauDetailsContainer,tauCommonDetails);
230 if((tauExtraDetailsContainer!=0) && (tauCommonExtraDetails!=0)) {
231 tauExtraDetailsContainer->
push_back(tauCommonExtraDetails);
232 addDetails(tauExtraDetailsContainer,tauCommonExtraDetails);
243 for(
unsigned int i = 0; i <=
numTrack(); ++i) {
254 for(
unsigned int i = 0; i <=
numTrack(); ++i) {
265 const Jet *
jet = this->jet();
274 if(altJetToken != 0) {
282 jet->fillToken(token);
285 for(
unsigned int i = 0; i <= this->
numTrack(); ++i) {
294 const std::any &weight)
const
300 for(
unsigned int i = 0; i <=
numTrack(); ++i) {
311 for(
unsigned int i = 0; i <=
numTrack(); ++i) {
315 track, std::any_cast<double>(weight));
322 const Jet *
jet = this->jet();
331 if(altJetToken != 0) {
334 jet, std::any_cast<double>(weight));
340 jet->fillToken(token);
343 for(
unsigned int i = 0; i <= this->
numTrack(); ++i) {
351 double TauJet :: parameter(TauJetParameters :: Detail)
const
364 const std::string &name,
const std::string& className )
372 &&(className.empty() ||
detail->className() == className))
380 const std::string& name )
const
383 for(
size_t i = 0; i < n; i++) {
385 if(
detail->className() == className &&
386 (name.empty() ||
m_tauDetails.elementDataID(i) == name))
423 auto isInvalid = [](
const auto t){
return not t.isValid();};
431 auto castsToDetail = [](
const auto t){
433 auto isNull = (
detail ==
nullptr);
438 return (isNull or castToCommon or castToRec or castTo1P3P);
448 if((tau1P3PDetails==0) ||(tauCommonDetails==0))
return;
495 tauCommonDetails->
m_pi0=tau1P3PDetails->
m_pi0;
506 if((tauRecDetails==0) ||(tauCommonDetails==0))
return;
555 if((tau1P3PExtraDetails==0) ||(tauCommonExtraDetails==0))
return;
575 if((tauRecExtraDetails==0) ||(tauCommonExtraDetails==0))
return;
ElementLink()
Default constructor.
Declaration of tau jet transient class.
Declaration of details class for tau event.
Declaration of tau details container transient class.
Declaration of tau details base class.
DEPRECATED DO NOT USE - MIGRATE TO TauCommonDetails Basic details class containing information produc...
std ::vector< double > m_etResChrgEMTrk
ElementLinkVector< CaloClusterContainer > m_pi0
CLHEP::HepLorentzVector m_sumEM
std ::vector< double > m_etChrgEM01Trk
Trk::RecVertex * m_secVertex
double m_sumEtCellsLArOverLeadTrackPt
double m_etChrgHADoverPttot
ElementLink< CaloClusterContainer > m_cellEM012Cluster
Basic detail class containing information for track and calo seeded tau reconstruction algorithms.
int m_seedTrk_nStrip
Number of strip cells.
double m_seedCalo_etEMCalib
Calibrated EM transverse energy.
double m_seedTrk_etIsolEM
Transverse energy in EM calo (at EM Scale) in 0.2 < dR < 0.4.
double m_seedTrk_etNeuEM
Transverse energy of EM cells (at EM scale), within "core" cone around tau1P3P axis after subtraction...
double m_seedTrk_stripWidth2
Strip width squared.
double m_seedTrk_etChrgHadOverSumTrkPt
charged hadronic transverse energy over sum of transverse momenta of all tracks
double m_etEflow
E_T from energy flow.
double m_seedCalo_eta
eta of TauJet calculated from calorimeter
double m_seedCalo_hadRadius
Uncalibrated hadron calorimeter weighted radius.
double m_seedTrk_secMaxStripEt
Secondary maximum.
double m_massTrkSys
Invariant mass of the tracks system.
double m_ipSigLeadLooseTrk
Impact parameter significance of leading loose track.
int m_seedTrk_nIsolTrk
Associated, "not good" quality tracks in core region.
double m_seedTrk_etResNeuEM
Correction term for eflow calculations.
double m_seedTrk_etChrgHad
Charged transverse energy in narrow window around track(s) in hadronic calorimeter.
double m_trkWidth2
Width of tracks momenta.
std ::vector< double > m_seedTrk_etResChrgEMTrk
Correction term for eflow calculations (evaluated for each track separately).
std ::vector< double > m_seedTrk_etChrgEM01Trk
Transverse energy in narrow window around the track(s), EM layers 0 1 only.
double m_seedCalo_etHadCalib
Calibrated hadronic transverse energy.
double m_seedTrk_sumEMCellEtOverLeadTrkPt
Ratio of sum Et of LAr Cells to the pT of leading track.
double m_seedCalo_nIsolLooseTrk
Number of isolated tracks.
double m_ipSigLeadTrk
Impact parameter significance of leading track.
double m_chrgLooseTrk
Charge of loose tracks.
double m_leadLooseTrkPt
p_T of leading loose track - for Trigger
double m_seedCalo_isolFrac
Ratio of the uncalibrated transverse energy of cells within 0.1<dR<0.2 and cells within 0<dR<0....
double m_seedTrk_hadLeakEt
hadronic leakage in Et summed over cells
double m_ipZ0SinThetaSigLeadTrk
Significance of z0 sin(Theta).
double m_seedTrk_EMRadius
EM radius.
double m_seedTrk_etChrgEM
Transverse energy of EM cells (at EM scale) classified as "charged electromagnetic" collected in narr...
double m_seedTrk_isolFrac
Isolation fraction.
double m_seedCalo_centFrac
Centrality fraction (ET(dr<0.1)/ET(dr<0.4) for all calos.
double m_seedTrk_etEMCL
Transverse energy of cells classified as "pure electromagnetic" seeded by egamma or topo cluster (ste...
double m_seedCalo_EMRadius
Uncalibrated Et weighted radius in the Presampler + EM1 + EM2 within dR < 0.4.
double m_trFlightPathSig
Transverse flight path significance for taus with at least 2 associated tracks.
double m_seedTrk_etIsolHad
Transverse energy in HAD calo (at EM Scale) in 0.2 < dR < 0.4.
double m_seedTrk_etHadAtEMScale
Hadronic E_T at EM scale.
CLHEP::HepLorentzVector m_sumPi0Vec
Pi0 energy sum vector.
double m_seedCalo_phi
phi of TauJet calculated from calorimeter
int m_seedCalo_nStrip
Number of Strip cells within dR < 0.4, with energy above specified threshold.
ElementLinkVector< CaloClusterContainer > m_pi0
Pi0 clusters.
double m_etOverPtLeadLooseTrk
Ratio of E_T of TauCandidate to p_T of leading loose track.
Trk::RecVertex * m_secVtx
Secondary vertex.
ElementLink< CaloClusterContainer > m_cellEM012Cluster
EM calorimeter cell cluster.
double m_seedCalo_stripWidth2
Uncalibrated transverse energy weighted width in the strip layer within dR < 0.4.
double m_seedTrk_isolFracWide
Ratio of Transverse Energy in 0.2 < dr < 0.4 to total transverse energy at EM scale.
int m_seedTrk_nOtherCoreTrk
Associated, "not good" quality tracks in core region.
double m_seedCalo_etHadAtEMScale
Uncalibrated Sum of Cell Transverse energy in the Presampler + EM1 + EM2 within dR < 0....
double m_seedTrk_etEMAtEMScale
EM E_T at EM scale.
double m_seedCalo_etEMAtEMScale
Uncalibrated Sum of Cell Transverse energy in the Presampler + EM1 + EM2 within dR < 0....
ElementLinkVector< Rec::TrackParticleContainer > m_looseTrk
Loose tracks.
static const float DEFAULT
unsigned int numTrack() const
number of Tracks associated to Tau candidate, CAUTION not to be confused with numberOfTracks()!
ElementLink< CaloClusterContainer > m_cellCluster
Calo cell.
ElementLinkVector< Rec::TrackParticleContainer > m_conversionTracks
Conversion tracks.
const ElementLink< TauDetailsContainer > detailElementLink(int i) const
Get TauDetails ElementLink by index
std::string toString() const
Uses printOn to make a string of the TauDetails.
std::bitset< 8 > m_author
Allow more than one author, TauJetParameters::Author used as index.
ElementLink< JetCollection > m_jet
Jets.
TauJetParameters::Author author() const
Author of this object (DO NOT USE! only for backward compatibility).
void MergeToCommonDetails(TauDetailsContainer *tauDetailsContainer=0, TauDetailsContainer *tauExtraDetailsContainer=0)
Merge Tau[1P3P|Rec](Extra)Details to TauCommon(Extra)Details.
int nDetails() const
number of details objects in this TauJet
void removeDetails(const std::string &name, const std::string &className="")
Remove all tau details object with matching name.
void CopyToCommonDetails(const Tau1P3PDetails *tau1P3PDetails, TauCommonDetails *tauCommonDetails)
Converts a Tau1P3PDetails to a TauCommonDetails.
void CleanDetailsForAOD()
clean details for AOD Removes extra details and any invalid elementlinks from details list
ElementLink< CaloClusterContainer > m_cluster
Calo cluster.
void addDetails(const TauDetailsContainer *container, TauDetails *details)
Add new tau detail instance.
const T * details() const
Get the first details object matching requested type or return NULL.
bool m_hasMergedToCommonDetails
True if MergeToCommonDetails has been called.
unsigned int m_numberOfTracks
Number of tracks.
std::vector< std::pair< TauJetParameters::TauCalibType, CLHEP::HepLorentzVector > > m_tauHLVStorage
HLV storage.
ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM > TauJetImpl_t
ElementLinkVector< Rec::TrackParticleContainer > m_tracks
Tracks.
ElementLinkVector< Rec::TrackParticleContainer > m_seedTrk_tracks
Seed Trk Tracks.
ElementLinkVector< Rec::TrackParticleContainer > m_seedCalo_tracks
Seed Calo Tracks.
ElementLinkVector< TauDetailsContainer > m_tauDetails
Vector containing all details.
void printOn(stream &o) const
Printing function.
TauJet()
Default Constructor.
std::string detailName(int i) const
Get classname of TauDetails by index.
const TauDetails * detail(const std::string &className, const std::string &name="") const
first TauDetails object of type className and possibly stored with SG key name.
bool operator==(const TauJet &rhs) const
Equality operator.
const Rec::TrackParticle * track(unsigned int i) const
Tracks associated to Tau candidate.
bool hasAuthor(const TauJetParameters ::Author &author) const
check if this object has Author author (can be more than one)
unsigned int m_roiWord
ROI word.
Class containing discriminants produced by identification algorithms.
DEPRECATED DO NOT USE - MIGRATE TO TauCommonDetails Basic details class containing information produc...
double m_centralityFraction
double m_etOverPtLeadTrack
int m_chargeLooseTracks
Charge of loose tracks.
Trk::RecVertex * m_secVertex
ElementLinkVector< Rec::TrackParticleContainer > m_looseTracks
CLHEP::HepLorentzVector m_sumEM
value_type push_back(value_type pElem)
Add an element to the end of the collection.
ELVIterator< typename RefVector::iterator > iterator
ElementLink implementation for ROOT usage.
I4Momentum is an abstract base class providing 4-momentum behavior.
virtual bool trySetObject(const INavigable *child)=0
void setObject(const_child_ptr data)
ParticleImpl & operator=(const ParticleImpl &rhs)
Trk::RecVertex inherits from Trk::Vertex.
The namespace of all packages in PhysicsAnalysis/JetTagging.
DataModel_detail::iterator< DVL > remove(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end, const T &value)
Specialization of remove for DataVector/List.
DataModel_detail::iterator< DVL > remove_if(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end, Predicate pred)
Specialization of remove_if for DataVector/List.