ATLAS Offline Software
TauPID.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
17 
18 #ifndef TAUEVENT_TAUPID_H
19 #define TAUEVENT_TAUPID_H
20 
21 //TauEvent includes
23 //C/C++ includes
24 #include <vector>
25 #include <bitset>
26 #include <utility>
27 
28 namespace Analysis
29 {
31  class TauPID
32  {
33  public:
35  TauPID();
36 
38  virtual ~TauPID();
39 
40  TauPID (std::vector<std::pair<TauJetParameters::TauID, double> >&& params,
41  const std::bitset<32>& isTauFlags,
42  const std::bitset<32>& vetoFlags);
43 
44 
46  TauPID(const TauPID& rhs);
47 
50  TauPID &operator = ( const TauPID &rhs );
51 
52  TauPID &operator = ( TauPID &&rhs );
53 
57  bool operator==( const TauPID& rhs ) const;
58 
62  bool operator!=( const TauPID& rhs ) const;
63 
67 
70  double discriminant(
71  TauJetParameters::TauID discID) const;
72 
78  double disc );
79 
82  bool isTau(
84 
88  void setIsTau(
90  bool value );
91 
95  void setFlag(
97  bool value );
98 
101  bool flag(
103 
104  const std::vector<std::pair<TauJetParameters::TauID, double> >& params() const;
105  const std::bitset<32>& isTauFlags() const;
106  const std::bitset<32>& vetoFlags() const;
107 
109  private:
110  std::vector<std::pair<TauJetParameters::TauID, double> > m_params;
111  std::bitset<32> m_isTauFlags;
112  std::bitset<32> m_vetoFlags;
113  };
114 }
115 
116 #include "TauDetails.h"
117 #include "TauPID.icc"
118 
119 #endif // TAUEVENT_TAUPID_H
Analysis::TauPID
Class containing discriminants produced by identification algorithms.
Definition: TauPID.h:32
TauJetParameters::IsTauFlag
IsTauFlag
Enum for IsTau flags.
Definition: TauJetParameters.h:104
Analysis::TauPID::operator==
bool operator==(const TauPID &rhs) const
Equality operator.
Definition: TauPID.cxx:68
Analysis::TauPID::~TauPID
virtual ~TauPID()
Destructor.
Analysis::TauPID::hasDiscriminant
bool hasDiscriminant(TauJetParameters::TauID discID) const
Check if class contains requested discriminant.
athena.value
value
Definition: athena.py:124
Analysis::TauPID::setIsTau
void setIsTau(TauJetParameters::IsTauFlag flag, bool value)
Set Flag for tau acceptance based on predefined arbitrary criteria.
TauJetParameters::VetoFlags
VetoFlags
Enum for Veto flags.
Definition: TauJetParameters.h:91
Analysis::TauPID::operator!=
bool operator!=(const TauPID &rhs) const
Inequality operator.
Analysis::TauPID::m_vetoFlags
std::bitset< 32 > m_vetoFlags
Definition: TauPID.h:112
Analysis::TauPID::TauPID
TauPID()
Constructor.
TauDetails.h
Analysis::TauPID::isTauFlags
const std::bitset< 32 > & isTauFlags() const
Definition: TauPID.cxx:90
Analysis::TauPID::discriminant
double discriminant(TauJetParameters::TauID discID) const
Get value of discriminant.
Analysis::TauPID::m_params
std::vector< std::pair< TauJetParameters::TauID, double > > m_params
Definition: TauPID.h:110
TauJetParameters.h
Analysis::TauPID::isTau
bool isTau(TauJetParameters::IsTauFlag flag) const
Get Flag for tau acceptance based on predefined arbitrary criteria.
Analysis::TauPID::vetoFlags
const std::bitset< 32 > & vetoFlags() const
Definition: TauPID.cxx:94
Analysis::TauPID::flag
bool flag(TauJetParameters::VetoFlags flag) const
Get veto flag.
TauJetParameters::TauID
TauID
Enum for discriminants.
Definition: TauJetParameters.h:44
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
Analysis::TauPID::operator=
TauPID & operator=(const TauPID &rhs)
assignment operator
Definition: TauPID.cxx:46
Analysis::TauPID::setDiscriminant
void setDiscriminant(TauJetParameters::TauID discID, double disc)
Set value of discriminant.
Analysis::TauPID::setFlag
void setFlag(TauJetParameters::VetoFlags flag, bool value)
Set veto flag.
Analysis::TauPID::m_isTauFlags
std::bitset< 32 > m_isTauFlags
Definition: TauPID.h:111
Analysis::TauPID::params
const std::vector< std::pair< TauJetParameters::TauID, double > > & params() const
Definition: TauPID.cxx:86
TauPID.icc