ATLAS Offline Software
JetTagCalibCondAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef JETTAGCALIBRATION_JETTAGCALIBCONDALG_H
6 #define JETTAGCALIBRATION_JETTAGCALIBCONDALG_H
7 
11 
14 
15 #include "TFile.h"
16 #include <map>
17 #include <string>
18 #include <utility>
19 #include <set>
20 
21 class TH2;
22 class TObject;
23 class IPoolSvc;
24 
25 namespace Analysis {
26 
50 
51  public:
52 
53  JetTagCalibCondAlg (const std::string& name, ISvcLocator* pSvcLocator);
55 
56  virtual StatusCode initialize() override;
57  virtual StatusCode execute() override;
58  virtual StatusCode finalize() override;
59 
60  private:
61  void registerHistogram(const std::string& tagger, const std::string& histoname);
62  void registerHistogram(const std::string& tagger, const std::string& directory, const std::string& histoname);
64  StatusCode objectTDirExists(const std::string& histname, TFile* file) const;
65  std::vector<std::string> tokenize(const std::string& str, const std::string& delim);
66  void smoothAndNormalizeHistogram(TH1* h, const std::string& hname);
67  void smoothASH2D(TH2* input2D, int m1, int m2);
68  void initializeIPTag();
69  void initializeIP2D();
70  void initializeIP3D();
71  void initializeSVEff(const std::string&);
72  void initializeSV1();
73  void initializeSV2();
74  void initializeJetFitterNN();
75  void initializeSoftMu();
76  void initializeMV2(const std::string&);
77  void initializeRNNIP();
78  void initializeMultiSV(const std::string&);
79  void initializeDL1(const std::string&);
80 
81  SG::ReadCondHandleKey<CondAttrListCollection> m_readKey{this, "ReadKeyCalibPath", "/GLOBAL/BTagCalib/RUN12", "Key of input (raw) conditions folder of bration path"}; // /GLOBAL/BTagCalib/Onl/RUN12 online, /GLOBAL/BTagCalib/RUN12 offline
82  SG::WriteCondHandleKey<JetTagCalibCondData> m_writeKey{this, "HistosKey", "JetTagCalibHistosKey", "Key of output (derived) JetTag calibration data"};
83 
85 
86 
87  std::vector< std::string > m_taggers;
88  std::unordered_map<std::string,std::string> m_directoryMap;
89  std::vector<std::vector<std::string> > m_taggersHists;
90  std::vector< std::string > m_mappedAlias;
91  std::vector< std::string > m_originalChannels;
92  /* aliases for channels:
93  * to specifiy an alias, enter a string "channelA->channelAA" (or a list of strings)
94  * this will force to use channelAA from the DB wherever channelA was mentioned */
95  StringArrayProperty m_channelAliases;
96  std::map< std::string, std::vector<std::string> > m_channelAliasesMultiMap;
97 
98  //for IPTag
100  std::vector<std::string> m_IPTag_hypotheses; // hypotheses: b | u
101 
102  //for IP2DTag
103  std::vector< std::string > m_IP2D_trackGradePartitions; //could be defined for each tagger
104 
105  //for SV1Tag
107 
108  //for SV2Tag
110 
111  //for Likelihood tool
113  std::vector<std::string> m_Likelihood_vetoSmoothingOf;
114 
115  //for JetFitterNNTag
120 
121  //for DL1Tag
122  std::string m_DL1_file_name; // directory of DL1 NN calibration (starting from specific jet collection directory) in COOL db
123 
124  //for RNNIP
125  // Initalize with a config name and path to a network If the
126  // network path is empty we read from the calib db Note that this
127  // won't support reading different local files for different jet
128  // collections.
129  std::map<std::string, std::string > m_RNNIP_network_cfg;
130 
131 
132 };
133 }
134 #endif // JETTAGCALIBRATION_JETTAGCALIBCONDALG_H
Analysis::JetTagCalibCondAlg::initializeJetFitterNN
void initializeJetFitterNN()
Definition: JetTagCalibCondAlg.cxx:300
IPoolSvc
This class provides the interface to the LCG POOL persistency software.
Definition: IPoolSvc.h:36
Analysis::JetTagCalibCondAlg::m_taggers
std::vector< std::string > m_taggers
Definition: JetTagCalibCondAlg.h:87
Analysis::JetTagCalibCondAlg::m_mappedAlias
std::vector< std::string > m_mappedAlias
Definition: JetTagCalibCondAlg.h:90
python.SystemOfUnits.m2
int m2
Definition: SystemOfUnits.py:92
Analysis::JetTagCalibCondAlg::createHistoMap
StatusCode createHistoMap(TFile *file, JetTagCalibCondData *histos)
Definition: JetTagCalibCondAlg.cxx:583
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
Analysis::JetTagCalibCondAlg::m_readKey
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey
Definition: JetTagCalibCondAlg.h:81
Analysis::JetTagCalibCondAlg::initializeMV2
void initializeMV2(const std::string &)
Definition: JetTagCalibCondAlg.cxx:353
dqt_zlumi_pandas.hname
string hname
Definition: dqt_zlumi_pandas.py:272
Analysis::JetTagCalibCondAlg::m_DL1_file_name
std::string m_DL1_file_name
Definition: JetTagCalibCondAlg.h:122
JetTagCalibCondData.h
Analysis::JetTagCalibCondAlg::m_JetFitterNN_calibrationDirectory
std::string m_JetFitterNN_calibrationDirectory
Definition: JetTagCalibCondAlg.h:116
Analysis::JetTagCalibCondAlg::initializeIP2D
void initializeIP2D()
Definition: JetTagCalibCondAlg.cxx:219
Analysis::JetTagCalibCondAlg::m_Likelihood_vetoSmoothingOf
std::vector< std::string > m_Likelihood_vetoSmoothingOf
Definition: JetTagCalibCondAlg.h:113
Analysis::JetTagCalibCondAlg::initializeSVEff
void initializeSVEff(const std::string &)
Definition: JetTagCalibCondAlg.cxx:246
WriteCondHandleKey.h
Analysis::JetTagCalibCondAlg::m_poolsvc
IPoolSvc * m_poolsvc
Definition: JetTagCalibCondAlg.h:84
Analysis::JetTagCalibCondAlg::initializeSV2
void initializeSV2()
Definition: JetTagCalibCondAlg.cxx:276
Analysis::JetTagCalibCondAlg::registerHistogram
void registerHistogram(const std::string &tagger, const std::string &histoname)
Definition: JetTagCalibCondAlg.cxx:394
Analysis::JetTagCalibCondAlg::m_directoryMap
std::unordered_map< std::string, std::string > m_directoryMap
Definition: JetTagCalibCondAlg.h:88
Analysis::JetTagCalibCondAlg::m_IPTag_useCHypo
bool m_IPTag_useCHypo
Definition: JetTagCalibCondAlg.h:99
Analysis::JetTagCalibCondAlg::initializeIPTag
void initializeIPTag()
Definition: JetTagCalibCondAlg.cxx:210
Analysis::JetTagCalibCondAlg::m_channelAliases
StringArrayProperty m_channelAliases
Definition: JetTagCalibCondAlg.h:95
AthAlgorithm.h
Analysis::JetTagCalibCondAlg::JetTagCalibCondAlg
JetTagCalibCondAlg(const std::string &name, ISvcLocator *pSvcLocator)
@ class JetTagCalibCondAlg
Definition: JetTagCalibCondAlg.cxx:28
python.changerun.m1
m1
Definition: changerun.py:32
PixelAthClusterMonAlgCfg.histname
histname
Definition: PixelAthClusterMonAlgCfg.py:106
Analysis::JetTagCalibCondAlg::~JetTagCalibCondAlg
~JetTagCalibCondAlg()
Definition: JetTagCalibCondAlg.cxx:55
Analysis::JetTagCalibCondAlg
@ class JetTagCalibCondAlg
Definition: JetTagCalibCondAlg.h:49
Analysis::JetTagCalibCondAlg::execute
virtual StatusCode execute() override
Definition: JetTagCalibCondAlg.cxx:419
DeMoScan.directory
string directory
Definition: DeMoScan.py:80
Analysis::JetTagCalibCondAlg::initializeSoftMu
void initializeSoftMu()
Definition: JetTagCalibCondAlg.cxx:342
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Analysis::JetTagCalibCondAlg::m_IP2D_trackGradePartitions
std::vector< std::string > m_IP2D_trackGradePartitions
Definition: JetTagCalibCondAlg.h:103
file
TFile * file
Definition: tile_monitor.h:29
Analysis::JetTagCalibCondAlg::initializeIP3D
void initializeIP3D()
Definition: JetTagCalibCondAlg.cxx:233
TH2
Definition: rootspy.cxx:373
Analysis::JetTagCalibCondAlg::m_writeKey
SG::WriteCondHandleKey< JetTagCalibCondData > m_writeKey
Definition: JetTagCalibCondAlg.h:82
AthAlgorithm
Definition: AthAlgorithm.h:47
ReadCondHandleKey.h
Analysis::JetTagCalibCondAlg::smoothASH2D
void smoothASH2D(TH2 *input2D, int m1, int m2)
Definition: JetTagCalibCondAlg.cxx:768
Analysis::JetTagCalibCondAlg::smoothAndNormalizeHistogram
void smoothAndNormalizeHistogram(TH1 *h, const std::string &hname)
Definition: JetTagCalibCondAlg.cxx:727
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
Analysis::JetTagCalibCondAlg::m_Likelihood_smoothNTimes
int m_Likelihood_smoothNTimes
Definition: JetTagCalibCondAlg.h:112
PixelAthHitMonAlgCfg.histoname
string histoname
Definition: PixelAthHitMonAlgCfg.py:139
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
Analysis::JetTagCalibCondAlg::m_JetFitterNN_calibrationSubDirectory
std::string m_JetFitterNN_calibrationSubDirectory
Definition: JetTagCalibCondAlg.h:117
Analysis::JetTagCalibCondAlg::m_RNNIP_network_cfg
std::map< std::string, std::string > m_RNNIP_network_cfg
Definition: JetTagCalibCondAlg.h:129
Analysis::JetTagCalibCondAlg::finalize
virtual StatusCode finalize() override
Definition: JetTagCalibCondAlg.cxx:706
Analysis::JetTagCalibCondAlg::m_useDRJPVSV
bool m_useDRJPVSV
Definition: JetTagCalibCondAlg.h:106
Analysis::JetTagCalibCondAlg::initializeSV1
void initializeSV1()
Definition: JetTagCalibCondAlg.cxx:258
SG::ReadCondHandleKey< CondAttrListCollection >
Analysis::JetTagCalibCondAlg::objectTDirExists
StatusCode objectTDirExists(const std::string &histname, TFile *file) const
Definition: JetTagCalibCondAlg.cxx:711
h
Analysis::JetTagCalibCondAlg::initialize
virtual StatusCode initialize() override
Definition: JetTagCalibCondAlg.cxx:59
Analysis::JetTagCalibCondAlg::m_IPTag_hypotheses
std::vector< std::string > m_IPTag_hypotheses
Definition: JetTagCalibCondAlg.h:100
Analysis::JetTagCalibCondData
Definition: JetTagCalibCondData.h:38
TH1
Definition: rootspy.cxx:268
Analysis::JetTagCalibCondAlg::tokenize
std::vector< std::string > tokenize(const std::string &str, const std::string &delim)
Definition: JetTagCalibCondAlg.cxx:689
Analysis::JetTagCalibCondAlg::initializeMultiSV
void initializeMultiSV(const std::string &)
Definition: JetTagCalibCondAlg.cxx:376
Analysis::JetTagCalibCondAlg::m_JetFitterNN_useCombinedIPNN
bool m_JetFitterNN_useCombinedIPNN
Definition: JetTagCalibCondAlg.h:118
SG::WriteCondHandleKey
Definition: WriteCondHandleKey.h:20
Analysis::JetTagCalibCondAlg::m_originalChannels
std::vector< std::string > m_originalChannels
Definition: JetTagCalibCondAlg.h:91
checkCorrelInHIST.histos
dictionary histos
Definition: checkCorrelInHIST.py:413
str
Definition: BTagTrackIpAccessor.cxx:11
Analysis::JetTagCalibCondAlg::initializeDL1
void initializeDL1(const std::string &)
Definition: JetTagCalibCondAlg.cxx:386
Analysis::JetTagCalibCondAlg::m_usePtSV2
bool m_usePtSV2
Definition: JetTagCalibCondAlg.h:109
Analysis::JetTagCalibCondAlg::initializeRNNIP
void initializeRNNIP()
Definition: JetTagCalibCondAlg.cxx:364
Analysis::JetTagCalibCondAlg::m_JetFitterNN_maximumRegisteredLayers
int m_JetFitterNN_maximumRegisteredLayers
Definition: JetTagCalibCondAlg.h:119
Analysis::JetTagCalibCondAlg::m_taggersHists
std::vector< std::vector< std::string > > m_taggersHists
Definition: JetTagCalibCondAlg.h:89
Analysis::JetTagCalibCondAlg::m_channelAliasesMultiMap
std::map< std::string, std::vector< std::string > > m_channelAliasesMultiMap
Definition: JetTagCalibCondAlg.h:96