ATLAS Offline Software
SoftElectronInfo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /********************************************************************
6 
7 NAME: SoftElectronInfo.cxx
8 PACKAGE: offline/PhysicsAnalysis/BTaggingID/BTaggingUtils
9 
10 AUTHORS: F. Derue, A. Kaczmarska, M. Wolter
11 CREATED: Nov 2005
12 
13 PURPOSE: EDM for b-tagging based on soft lepton identification
14 
15 COMMENTS: evolved from BJetLifetimeInfo
16 
17 UPDATE:
18 
19 ********************************************************************/
20 
21 #ifndef JETTAGINFO_SOFTELECTRONINFO_H
22 #define JETTAGINFO_SOFTELECTRONINFO_H
23 #include "JetTagInfo/BaseTagInfo.h"
24 #include "JetTagInfo/SETrackInfo.h"
25 #include <vector>
26 #include <iostream>
27 
28 namespace Analysis
29 {
30 typedef std::vector<double> FloatVec;
31 
32 class SoftElectronInfo : public BaseTagInfo
33 {
34 public:
37 
40 
43 
46 
48  virtual ~SoftElectronInfo();
49 
51  virtual SoftElectronInfo* clone() const;
52 
56  void setTrackProb(const FloatVec& vec);
57  void setTrackProb(FloatVec&& vec);
58  void setNTrackProb(double nTrackProb);
59  const FloatVec& vectorTrackProb(void) const;
60  double nTrackProb(void) const;
61 
63  inline int numTrackInfo() const { return m_trackinfo.size();}
65  inline void addTrackInfo(const SETrackInfo& i) { m_trackinfo.push_back(i); }
67  inline const SETrackInfo& getTrackInfo(uint i) const {
68  return m_trackinfo.at(i);
69  }
70 
71 private:
73  double m_nTrackProb;
74  std::vector<SETrackInfo> m_trackinfo;
75 
76 }
77 ; // End class
78 
79 
81 {
83 }
85 {
87 }
88 inline void SoftElectronInfo::setNTrackProb(double nTrackProb)
89 {
91 }
92 inline const FloatVec& SoftElectronInfo::vectorTrackProb(void) const
93 {
95 }
96 inline double SoftElectronInfo::nTrackProb(void) const
97 {
98  return m_nTrackProb;
99 }
101 {
102  return new SoftElectronInfo(*this);
103 }
104 
105 } // End namespace
106 #endif
Analysis::SoftElectronInfo::setTrackProb
void setTrackProb(const FloatVec &vec)
Return and set methods for the signal and background likelihood.
Definition: SoftElectronInfo.h:94
Analysis::SoftElectronInfo::m_trackinfo
std::vector< SETrackInfo > m_trackinfo
Definition: SoftElectronInfo.h:88
Analysis::SoftElectronInfo::~SoftElectronInfo
virtual ~SoftElectronInfo()
default destructor
Definition: SoftElectronInfo.cxx:84
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
Analysis::SoftElectronInfo
Definition: SoftElectronInfo.h:47
Analysis::SoftElectronInfo::numTrackInfo
int numTrackInfo() const
Number of muon track info objects stored.
Definition: SoftElectronInfo.h:77
x
#define x
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
Analysis::FloatVec
std::vector< double > FloatVec
Definition: LifetimeInfo.h:31
uint
unsigned int uint
Definition: LArOFPhaseFill.cxx:20
lumiFormat.i
int i
Definition: lumiFormat.py:92
Analysis::SoftElectronInfo::SoftElectronInfo
SoftElectronInfo()
default constructor
Definition: SoftElectronInfo.cxx:41
Analysis::SoftElectronInfo::setNTrackProb
void setNTrackProb(double nTrackProb)
Definition: SoftElectronInfo.h:102
Analysis::TagInfoType
std::string TagInfoType
Definition: JetTagInfoBase.h:19
BaseTagInfo.h
Analysis::SoftElectronInfo::m_vectorOfTrackProb
FloatVec m_vectorOfTrackProb
Definition: SoftElectronInfo.h:86
SETrackInfo.h
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
Analysis::SoftElectronInfo::nTrackProb
double nTrackProb(void) const
Definition: SoftElectronInfo.h:110
Analysis::SETrackInfo
Definition: SETrackInfo.h:20
Analysis::SoftElectronInfo::m_nTrackProb
double m_nTrackProb
Definition: SoftElectronInfo.h:87
Analysis::SoftElectronInfo::getTrackInfo
const SETrackInfo & getTrackInfo(uint i) const
Get a track info object.
Definition: SoftElectronInfo.h:81
Analysis::SoftElectronInfo::vectorTrackProb
const FloatVec & vectorTrackProb(void) const
Definition: SoftElectronInfo.h:106
Analysis::SoftElectronInfo::addTrackInfo
void addTrackInfo(const SETrackInfo &i)
Insert a new track info object.
Definition: SoftElectronInfo.h:79
Analysis::SoftElectronInfo::clone
virtual SoftElectronInfo * clone() const
Return and set methods for the likelihood.
Definition: SoftElectronInfo.h:114
Analysis::SoftElectronInfo::operator=
SoftElectronInfo & operator=(const SoftElectronInfo &rhs)
assigenment operator
Definition: SoftElectronInfo.cxx:69