ATLAS Offline Software
JetTagInfoBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef JETEVENT_JETTAGINFOBASE_H
6 #define JETEVENT_JETTAGINFOBASE_H
7 
8 #include <vector>
9 #include <string>
10 
18 namespace Analysis {
19  typedef std::string TagInfoType;
20 
21  class ITagInfo
22  {
23  public:
24 
26  virtual ~ITagInfo() = default;
27 
29  virtual void setTagLikelihood(const std::vector<double>&) = 0;
30  virtual void setTagLikelihood(std::vector<double>&&) = 0;
31 
33  virtual const std::vector<double>& tagLikelihood(void) const = 0;
34 
36  virtual void setWeight(double weight) = 0;
37 
39  virtual double weight() const = 0;
40 
42  virtual void makeValid() = 0;
43 
45  virtual bool isValid() const = 0;
46 
48  virtual TagInfoType infoType() const = 0;
49 
51  virtual ITagInfo* clone() const = 0;
52  };
53 }
54 
56 {
57  // make the templated converter base friend
58  template <class PERS>
59  friend class JetConverterBase;
60 
61  public:
63  virtual JetTagInfoBase* clone() const = 0;
64 };
65 
66 
78 #endif
Analysis::ITagInfo::setTagLikelihood
virtual void setTagLikelihood(const std::vector< double > &)=0
Analysis::ITagInfo::setWeight
virtual void setWeight(double weight)=0
get the weight of one tagger
Analysis::ITagInfo::setTagLikelihood
virtual void setTagLikelihood(std::vector< double > &&)=0
returns the tag likelihood of one tagger
Analysis::ITagInfo::tagLikelihood
virtual const std::vector< double > & tagLikelihood(void) const =0
set the weight for one tagger
Analysis::ITagInfo::makeValid
virtual void makeValid()=0
returns true if the tag was successfull
JetTagInfoBase
Definition: JetTagInfoBase.h:56
Analysis::ITagInfo::~ITagInfo
virtual ~ITagInfo()=default
< destructor
JetTagInfoBase::clone
virtual JetTagInfoBase * clone() const =0
< a clone method for the proper workings of the copy constructor
JetConverterBase
Definition: JetConverterBase.h:32
Analysis::TagInfoType
std::string TagInfoType
Definition: JetTagInfoBase.h:19
Analysis::ITagInfo
Definition: JetTagInfoBase.h:22
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
Analysis::ITagInfo::infoType
virtual TagInfoType infoType() const =0
a clone method for the proper workings of the copy constructor
Analysis::ITagInfo::isValid
virtual bool isValid() const =0
returns the infoType of the info objects.
Analysis::ITagInfo::clone
virtual ITagInfo * clone() const =0
Analysis::ITagInfo::weight
virtual double weight() const =0
sets the isValid flag to true, cannot be reversed!