ATLAS Offline Software
JetTagCalibCondData.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
10 #ifndef JETTAGCALIBCONDDATA_H
11 #define JETTAGCALIBCONDDATA_H
12 
13 #include <vector>
14 #include <map>
15 #include <memory>
16 #include "AthenaKernel/CLASS_DEF.h"
18 #include "lwtnn/parse_json.hh"
19 #include "lwtnn/NNLayerConfig.hh"
20 #include "lwtnn/LightweightNeuralNetwork.hh"
21 #include "lwtnn/Exceptions.hh"
22 #include "MVAUtils/BDT.h"
23 
24 class TObject;
25 class TH1;
26 
32 namespace lwt {
33  class LightweightNeuralNetwork;
34 }
35 
36 namespace Analysis {
37 
39 public:
40  // Constructor
42  // Destructor
44 
46  void resize(const std::vector<std::string>& sizeHisto);
47  void clear();
48  void printAliasesStatus() const;
49  void printHistosStatus() const;
50  void printBdtsStatus() const;
51  std::string getChannelAlias(const std::string& originalChannel) const;
52  void addHisto(const unsigned int indexTagger, const std::string& name, std::unique_ptr<TH1>);
53  void addDL1NN(const std::string& tagger, const std::string& channel, const lwt::JSONConfig& );
54  void addIPRNN(const std::string& tagger, const std::string& channel, const std::string& );
55  void addBdt(const std::string& tagger, const std::string& name, std::unique_ptr<MVAUtils::BDT>);
56  void addInputVars(const std::string& tagger, const std::string& name, const std::vector<std::string> &input);
57  void addChannelAlias(const std::string& channel, const std::string& alias);
58  TH1* retrieveHistogram(const std::string& folder, const std::string& channel, const std::string& hname) const;
59  lwt::JSONConfig retrieveDL1NN(const std::string& tagger, const std::string& channel) const;
60  std::string retrieveIPRNN(const std::string& tagger, const std::string& channel) const;
61  MVAUtils::BDT* retrieveBdt(const std::string& tagger, const std::string& channel) const;
62  std::vector<std::string> retrieveInputVars(const std::string& tagger, const std::string& channel, const std::string& hname) const;
63  template <class T> T* retrieveTObject(const std::string& folder, const std::string& channel, const std::string& hname) const;
64 
65  std::string channelName(const std::string& fullHistoName) const;
66  std::string histoName(const std::string& fullHistoName) const ;
67  std::string fullHistoName(const std::string& channel, const std::string& histoName) const;
68 
69 private:
70  std::vector< std::map<std::string, std::unique_ptr<TH1>> > m_histos;
71  std::map< std::string, std::string > m_channelAliasesMap;
72  std::vector< std::string> m_taggers;
73 
74  //MV2, MultiSV and SoftMuon BDTs
75  std::map< std::string, std::map<std::string, std::unique_ptr<MVAUtils::BDT>> > m_bdts;
76  //MV2, MultiSV and SoftMuon input var
77  std::map< std::string, std::map<std::string, std::vector<std::string>>> m_inputVars;
78  //DL1 NN Json config
79  std::map< std::string, std::map<std::string, lwt::JSONConfig >> m_DL1_NNConfig;
80  //RNNIP string config
81  std::map< std::string, std::map<std::string, std::string >> m_IP_RNNConfig;
82 };
83 }
85 
86 #include "AthenaKernel/CondCont.h"
89 #endif // JETTAGCALIBCONDDATA_H
Analysis::JetTagCalibCondData::printBdtsStatus
void printBdtsStatus() const
Definition: JetTagCalibCondData.cxx:104
Analysis::JetTagCalibCondData::m_histos
std::vector< std::map< std::string, std::unique_ptr< TH1 > > > m_histos
Definition: JetTagCalibCondData.h:70
Analysis::JetTagCalibCondData::m_channelAliasesMap
std::map< std::string, std::string > m_channelAliasesMap
Definition: JetTagCalibCondData.h:71
Analysis::JetTagCalibCondData::retrieveHistogram
TH1 * retrieveHistogram(const std::string &folder, const std::string &channel, const std::string &hname) const
Definition: JetTagCalibCondData.cxx:114
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
dqt_zlumi_pandas.hname
string hname
Definition: dqt_zlumi_pandas.py:272
CONDCONT_DEF
CONDCONT_DEF(Analysis::JetTagCalibCondData, 197330919)
Analysis::JetTagCalibCondData::printAliasesStatus
void printAliasesStatus() const
Definition: JetTagCalibCondData.cxx:86
Analysis::JetTagCalibCondData::addInputVars
void addInputVars(const std::string &tagger, const std::string &name, const std::vector< std::string > &input)
Definition: JetTagCalibCondData.cxx:58
Analysis::JetTagCalibCondData::JetTagCalibCondData
JetTagCalibCondData()
Definition: JetTagCalibCondData.cxx:19
Analysis::JetTagCalibCondData::getChannelAlias
std::string getChannelAlias(const std::string &originalChannel) const
Definition: JetTagCalibCondData.cxx:78
MVAUtils::BDT
Simplified Boosted Regression Tree, support TMVA, lgbm, and xgboost.
Definition: BDT.h:34
Analysis::JetTagCalibCondData::m_DL1_NNConfig
std::map< std::string, std::map< std::string, lwt::JSONConfig > > m_DL1_NNConfig
Definition: JetTagCalibCondData.h:79
Analysis::JetTagCalibCondData::addDL1NN
void addDL1NN(const std::string &tagger, const std::string &channel, const lwt::JSONConfig &)
Definition: JetTagCalibCondData.cxx:65
Analysis::JetTagCalibCondData::m_inputVars
std::map< std::string, std::map< std::string, std::vector< std::string > > > m_inputVars
Definition: JetTagCalibCondData.h:77
Analysis::JetTagCalibCondData::resize
void resize(const std::vector< std::string > &sizeHisto)
Resize the data members.
Definition: JetTagCalibCondData.cxx:30
Analysis::JetTagCalibCondData::addIPRNN
void addIPRNN(const std::string &tagger, const std::string &channel, const std::string &)
Definition: JetTagCalibCondData.cxx:53
Analysis::JetTagCalibCondData::histoName
std::string histoName(const std::string &fullHistoName) const
Definition: JetTagCalibCondData.cxx:223
Analysis::JetTagCalibCondData::~JetTagCalibCondData
~JetTagCalibCondData()
Definition: JetTagCalibCondData.cxx:25
COOLRates.alias
alias
Definition: COOLRates.py:1172
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
Analysis::JetTagCalibCondData::retrieveTObject
T * retrieveTObject(const std::string &folder, const std::string &channel, const std::string &hname) const
lwt
Definition: NnClusterizationFactory.h:52
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
Analysis::JetTagCalibCondData::m_IP_RNNConfig
std::map< std::string, std::map< std::string, std::string > > m_IP_RNNConfig
Definition: JetTagCalibCondData.h:81
BDT.h
Analysis::JetTagCalibCondData::retrieveDL1NN
lwt::JSONConfig retrieveDL1NN(const std::string &tagger, const std::string &channel) const
Definition: JetTagCalibCondData.cxx:171
Analysis::JetTagCalibCondData::addBdt
void addBdt(const std::string &tagger, const std::string &name, std::unique_ptr< MVAUtils::BDT >)
Definition: JetTagCalibCondData.cxx:47
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
Analysis::JetTagCalibCondData::retrieveBdt
MVAUtils::BDT * retrieveBdt(const std::string &tagger, const std::string &channel) const
Definition: JetTagCalibCondData.cxx:118
Analysis::JetTagCalibCondData::m_bdts
std::map< std::string, std::map< std::string, std::unique_ptr< MVAUtils::BDT > > > m_bdts
Definition: JetTagCalibCondData.h:75
Analysis::JetTagCalibCondData::channelName
std::string channelName(const std::string &fullHistoName) const
Definition: JetTagCalibCondData.cxx:215
JetTagCalibCondData.icc
Analysis::JetTagCalibCondData
Definition: JetTagCalibCondData.h:38
TH1
Definition: rootspy.cxx:268
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
AthMessaging.h
Analysis::JetTagCalibCondData::m_taggers
std::vector< std::string > m_taggers
Definition: JetTagCalibCondData.h:72
CaloCondBlobAlgs_fillNoiseFromASCII.folder
folder
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:56
Analysis::JetTagCalibCondData::fullHistoName
std::string fullHistoName(const std::string &channel, const std::string &histoName) const
Definition: JetTagCalibCondData.cxx:231
Analysis::JetTagCalibCondData::retrieveInputVars
std::vector< std::string > retrieveInputVars(const std::string &tagger, const std::string &channel, const std::string &hname) const
Definition: JetTagCalibCondData.cxx:144
Analysis::JetTagCalibCondData::printHistosStatus
void printHistosStatus() const
Definition: JetTagCalibCondData.cxx:95
Analysis::JetTagCalibCondData::retrieveIPRNN
std::string retrieveIPRNN(const std::string &tagger, const std::string &channel) const
Definition: JetTagCalibCondData.cxx:193
CLASS_DEF.h
macros to associate a CLID to a type
Analysis::JetTagCalibCondData::addHisto
void addHisto(const unsigned int indexTagger, const std::string &name, std::unique_ptr< TH1 >)
Definition: JetTagCalibCondData.cxx:41
Analysis::JetTagCalibCondData::clear
void clear()
Definition: JetTagCalibCondData.cxx:37
Analysis::JetTagCalibCondData::addChannelAlias
void addChannelAlias(const std::string &channel, const std::string &alias)
Definition: JetTagCalibCondData.cxx:72