|
ATLAS Offline Software
|
Go to the documentation of this file.
22 #ifndef TAU_ANALYSIS_H
23 #define TAU_ANALYSIS_H
27 #include "CLHEP/Vector/LorentzVector.h"
29 #include "AthLinks/ElementLinkVector.h"
32 #include "CaloEvent/CaloClusterContainer.h"
58 ::Analysis::TauJetNavigation,
99 std::ostream& o,
const TauJet& tau);
105 std::ostream& o,
const TauJet* tau);
111 MsgStream& o,
const TauJet& tau);
117 MsgStream& o,
const TauJet* tau);
150 const std::any& )
const;
269 unsigned int i )
const;
395 const std::string &
name,
412 template <
typename T>
414 const std::string &
name )
const;
418 template <
typename T>
427 const std::string&
name =
"")
const;
577 template <
class stream>
655 std::vector<std::pair< TauJetParameters::TauCalibType, CLHEP::HepLorentzVector > >
m_tauHLVStorage;
662 template <
class stream>
669 o << *(*itrk) <<
" ";
671 <<
"conversionTracks: {";
675 o << *(*itrk) <<
" ";
680 if ((*idetail).isValid())
681 o << *(*idetail) <<
" ";
695 std::ostream& o,
const TauJet& tau)
702 std::ostream& o,
const TauJet* tau)
709 MsgStream& o,
const TauJet& tau)
716 MsgStream& o,
const TauJet* tau)
726 #endif // TAU_ANALYSIS_H
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.
ElementLinkVector< Rec::TrackParticleContainer > & seedCalo_trackLinkVector()
Get seed calo track link vector.
void addTrack(const Rec::TrackParticleContainer *cont, const Rec::TrackParticle *track)
Add a track to the TauJet.
const Rec ::TrackParticle * track(unsigned int i) const
Tracks associated to Tau candidate.
bool operator==(const TauJet &rhs) const
Equality operator.
bool operator!=(const TauJet &rhs) const
Inequality operator.
const ElementLinkVector< Rec::TrackParticleContainer > & seedCalo_trackLinkVector() const
Get seed calo track link vector.
unsigned int numConversionTrack() const
Number of conversion tracks.
void setROIWord(unsigned int RoiWord)
Set ROI Word (trigger purposes)
void setTauID(TauPID *tauID)
Set TauPID object that contains discriminant values.
ElementLinkVector< Rec::TrackParticleContainer > & trackLinkVector()
Get track link vector.
Class containing discriminants produced by identification algorithms.
void addSeedTrk_track(const Rec::TrackParticleContainer *cont, const Rec::TrackParticle *track)
Add a seed trk track to the TauJet.
TauJet & operator=(const TauJet &rhs)
assignment operator
DEPRECATED DO NOT USE - MIGRATE TO TauCommonDetails Basic details class containing information produc...
ElementLink< CaloClusterContainer > m_cellCluster
Calo cell.
ElementLink< JetCollection > & jetLink()
ElementLink to seed Jet, might be invalid if not seeded from a Jet
void addPanTauSeed(PanTau::PanTauSeed *pantauSeed)
add a new PanTauSeed to this tau
NavigableTerminalNode TauJetNavigation
const CaloCluster * cellCluster() const
cell CaloCluster, might be NULL the ID variables are calculated from this cluster if its not empty
void setE(double ene)
set energy data member
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.
Basic data class defines behavior for all Jet objects The Jet class is the principal data class for...
const std::vector< PanTau::PanTauSeed * > & getListOfPanTauSeeds() const
Get the list of links to PanTauSeed objects that were created for this tauJet
virtual void fillToken(INavigationToken &thisToken) const
INavigable interface, fill constituents (Jet,CaloCluster,CaloCell)
CLHEP::HepLorentzVector getHLV(TauJetParameters ::TauCalibType type) const
void setCellCluster(const CaloClusterContainer *cont, const CaloCluster *clust)
set the CaloCluster as the seed of TauJet
const ElementLinkVector< TauDetailsContainer > & tauDetailLinkVector() const
std::string toString() const
Uses printOn to make a string of the TauDetails.
void setCluster(const CaloClusterContainer *cont, const CaloCluster *clust)
set the CaloCluster as the seed of TauJet, DEPRECATED as of release 13
Storable container for CaloCluster.
void clearAuthor(const TauJetParameters ::Author &author)
clear the author flag to value false
unsigned int m_numberOfTracks
Number of tracks.
const Jet * jet() const
seed Jet, might be NULL if not seeded from a Jet
bool hasAuthor(const TauJetParameters ::Author &author) const
check if this object has Author author (can be more than one)
Dummy type needed fro specialized implementation.
void storeHLV(TauJetParameters ::TauCalibType type, CLHEP ::HepLorentzVector hlv)
unsigned int numberOfTracks() const
Get number of tracks.
void addSeedCalo_track(const Rec::TrackParticleContainer *cont, const Rec::TrackParticle *track)
Add a seed calo track to the TauJet.
const T * details(const std::string &name) const
Get first details object stored in SG collection with matching name.
virtual ~TauJet()
Virtual Destructor.
ElementLinkVector< Rec::TrackParticleContainer > m_tracks
Tracks.
void setClusterLink(const ElementLink< CaloClusterContainer > &x)
set ElementLink of the CaloCluster seed of TauJet DEPRECATED as of release 13
void setEta(double eta)
set eta data member
void setPhi(double phi)
set phi data member
ElementLink< CaloClusterContainer > & cellClusterLink()
ElementLink to cell CaloCluster, might be invalid the ID variables are calculated from this cluster i...
const ElementLink< JetCollection > jetLink() const
ElementLink to seed Jet, might be invalid if not seeded from a Jet
void clearSeedTrk_tracks()
Remove all seed trk associated tracks from TauJet.
const Rec ::TrackParticle * seedTrk_track(unsigned int i) const
Seed Track Tracks associated to Tau candidate.
void setHasMergedToCommonDetails(bool state)
Set state Merge to common details state.
friend std::ostream & operator<<(std::ostream &o, const TauJet &tau)
Printing operator.
unsigned int m_roiWord
ROI word.
TauJetParameters ::Author author() const
Author of this object (DO NOT USE! only for backward compatibility)
const TauPID * tauID() const
Get TauPID object containing discriminant values.
int nProng() const
Number of prongs.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TauJet()
Default Constructor.
virtual double m() const
mass
Basic detail class containing information for track and calo seeded tau reconstruction algorithms.
void setM(double m)
set mass data member
const Rec ::TrackParticle * conversionTrack(unsigned int i) const
Get a conversion track.
void CopyToCommonDetails(const Tau1P3PDetails *tau1P3PDetails, TauCommonDetails *tauCommonDetails)
Converts a Tau1P3PDetails to a TauCommonDetails.
void MergeToCommonDetails(TauDetailsContainer *tauDetailsContainer=0, TauDetailsContainer *tauExtraDetailsContainer=0)
Merge Tau[1P3P|Rec](Extra)Details to TauCommon(Extra)Details.
unsigned int numTrack() const
number of Tracks associated to Tau candidate, CAUTION not to be confused with numberOfTracks()!
TauCalibType
Enum for tau calib type.
void removeDetails(const std::string &name, const std::string &className="")
Remove all tau details object with matching name.
const CaloCluster * cluster() const
seed CaloCluster, DEPRECATED as of release 13
const Rec ::TrackParticle * seedCalo_track(unsigned int i) const
Seed Calo Tracks associated to Tau candidate.
std::string detailName(int i) const
Get classname of TauDetails by index.
Object for taus common for ESD and AOD.
TauPID * tauID()
Get TauPID object containing discriminant values.
bool m_hasMergedToCommonDetails
True if MergeToCommonDetails has been called.
const ElementLinkVector< Rec::TrackParticleContainer > & seedTrk_trackLinkVector() const
Get seed trk track link vector.
virtual double phi() const
phi in [-pi,pi[
Principal data class for CaloCell clusters.
const ElementLinkVector< Rec::TrackParticleContainer > & conversionTrackLinkVector() const
Get conversion track element link vector (const)
virtual double eta() const
pseudo rapidity
double parameter(TauJetParameters ::Detail detail) const
dummy Parameter accessors, for analysis code backward compatibility
const ElementLink< CaloClusterContainer > clusterLink() const
ElementLink to seed CaloCluster, DEPRECATED as of release 13
unsigned int seedCalo_numTrack() const
number of seed calo Tracks associated to Tau candidate,
unsigned int ROIWord() const
Retrieve ROI Word (trigger purposes)
void clearSeedCalo_tracks()
Remove all seed calo associated tracks from TauJet.
virtual CLHEP::HepLorentzVector hlv() const
CLHEP HepLorentzVector.
TauJetImpl_t::particle_type particle_type
void setJetLink(const ElementLink< JetCollection > &x)
set the ElementLink to the seed Jet
The namespace of all packages in PhysicsAnalysis/JetTagging.
ElementLink< JetCollection > m_jet
Jets.
ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM > TauJetImpl_t
ElementLinkVector< Rec::TrackParticleContainer > m_seedCalo_tracks
Seed Calo Tracks.
std::vector< PanTau::PanTauSeed * > m_listOfPanTauSeeds
List of associated pantau seeds
void clearConversionTracks()
Remove all associated track from TauJet.
unsigned int seedTrk_numTrack() const
number of seed trk Tracks associated to Tau candidate,
ElementLinkVector< Rec::TrackParticleContainer > m_seedTrk_tracks
Seed Trk Tracks.
TauJetImpl_t::navigable_type navigable_type
ElementLink< CaloClusterContainer > & clusterLink()
ElementLink to seed CaloCluster (const) DEPRECATED as of release 13
void CleanDetailsForAOD()
clean details for AOD Removes extra details and any invalid elementlinks from details list
void setCellClusterLink(const ElementLink< CaloClusterContainer > &x)
set ElementLink of the CaloCluster seed of TauJet
void clearTracks()
Remove all associated track from TauJet.
void setJet(const JetCollection *cont, const Jet *clust)
set the Jet as the seed to the TauJet
DEPRECATED DO NOT USE - MIGRATE TO TauCommonDetails Basic details class containing information produc...
TauJetImpl_t::momentum_type momentum_type
const ElementLinkVector< Rec::TrackParticleContainer > & trackLinkVector() const
Get track link vector.
void setNumberOfTracks(unsigned int numberOfTracks)
Set number of tracks @ param numberOfTracks Number of tracks.
std::bitset< 8 > m_author
Allow more than one author, TauJetParameters::Author used as index.
ElementLinkVector< Rec::TrackParticleContainer > & seedTrk_trackLinkVector()
Get seed trk track link vector.
bool hasMergedToCommonDetails() const
Overloading MergeToCommonDetails function.
MsgStream & operator<<(MsgStream &out, const IPInfoBase &)
output.
bool isConversionTrack(unsigned int i) const
Check if track is a conversion track.
int nDetails() const
number of details objects in this TauJet
const ElementLink< TauDetailsContainer > detailElementLink(int i) const
Get TauDetails ElementLink by index
ElementLinkVector< Rec::TrackParticleContainer > & conversionTrackLinkVector()
Get conversion track element link vector.
ElementLinkVector< TauDetailsContainer > m_tauDetails
Vector containing all details.
const ElementLink< CaloClusterContainer > cellClusterLink() const
ElementLink to cell CaloCluster, might be invalid the ID variables are calculated from this cluster i...
void addConversionTrack(const Rec::TrackParticleContainer *cont, const Rec::TrackParticle *track)
Add a conversion track.
ElementLinkVector< Rec::TrackParticleContainer > m_conversionTracks
Conversion tracks.
void printOn(stream &o) const
Printing function.
void setAuthor(const TauJetParameters ::Author &author)
set the author flag to true
std::vector< std::pair< TauJetParameters::TauCalibType, CLHEP::HepLorentzVector > > m_tauHLVStorage
HLV storage.
ElementLink< CaloClusterContainer > m_cluster
Calo cluster.
ElementLinkVector< TauDetailsContainer > & tauDetailLinkVector()