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;
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.