ATLAS Offline Software
SUSYToolsAlg.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // SUSYToolsAlg.h
8 
9 #ifndef SUSYToolsAlg_H
10 #define SUSYToolsAlg_H
11 
12 // Base class
14 
15 // Tool handles
16 #include "AsgTools/AnaToolHandle.h"
17 
18 // For SystInfo needs to be included
20 // GRL
22 
23 
24 // Timing
25 #include "TStopwatch.h"
26 #include "TEfficiency.h"
27 
28 // Standard library includes
29 #include <string>
30 #include <vector>
31 
32 // Need truth matching for TauJet CP tools
33 namespace TauAnalysisTools {
34  class ITauTruthMatchingTool;
35 }
36 
38 
39  public:
40 
41  // Constructor with parameters:
42  SUSYToolsAlg(const std::string& name, ISvcLocator* pSvcLocator);
43 
44  // Destructor:
45  ~SUSYToolsAlg();
46 
47  // Athena algorithm's Hooks
51 
52  private:
53 
54  // Default constructor:
56 
57  // helper functions
58  void groupSysts(void);
60  void stdHistsForObj(xAOD::IParticle *obj, const std::string& objtype, const std::string& objlevel, std::map<std::string,std::string> config = std::map<std::string,std::string>());
61 
62  // configuration and main tools
63  std::vector<std::string> m_GRLFiles;
64  std::string m_mcCampaign;
65  std::map<std::string,bool> m_slices;
66  std::map<std::string,TH1*> m_hists;
67  std::map<std::string,TEfficiency*> m_heffs;
68  std::map<std::string,std::string> m_configDict;
69 
73 
74  unsigned int m_Nevts;
75  int m_maxEvts;
78  std::string m_kernel;
79  std::string m_configFile;
80  std::string m_FatJetCollection;
81  std::string m_TrkJetCollection;
82  std::string m_TrkJetTimeStamp;
83 
84  // systematics
85  bool m_doSyst;
86  std::vector<ST::SystInfo> m_sysInfoList;
87  std::map<std::string,std::vector<std::string>> m_syst_all, m_syst_weights;
88 
89  // timing
90  TStopwatch m_clock0;
91  TStopwatch m_clock1;
92  TStopwatch m_clock2;
93 
94  // triggers
95  std::map<std::string,std::vector<std::string>> m_triggers;
96 
97  // histograms and counts
98  std::vector<std::string> m_objects;
99  std::vector<std::string> m_levels;
100  std::vector<std::string> m_vars;
101  std::map<std::string,std::map<std::string,int>> m_obj_count;
102 };
103 
104 #endif
TauAnalysisTools
Definition: TruthCollectionMakerTau.h:16
SUSYToolsAlg::m_grl
asg::AnaToolHandle< IGoodRunsListSelectionTool > m_grl
Definition: SUSYToolsAlg.h:71
IGoodRunsListSelectionTool.h
asg::AnaToolHandle< ST::ISUSYObjDef_xAODTool >
SUSYToolsAlg::stdHistsForObj
void stdHistsForObj(xAOD::IParticle *obj, const std::string &objtype, const std::string &objlevel, std::map< std::string, std::string > config=std::map< std::string, std::string >())
Definition: SUSYToolsAlg.cxx:1462
SUSYToolsAlg::m_FatJetCollection
std::string m_FatJetCollection
Definition: SUSYToolsAlg.h:80
SUSYToolsAlg
Definition: SUSYToolsAlg.h:37
SUSYToolsAlg::m_clock0
TStopwatch m_clock0
Definition: SUSYToolsAlg.h:90
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
SUSYToolsAlg::m_sysInfoList
std::vector< ST::SystInfo > m_sysInfoList
Definition: SUSYToolsAlg.h:86
SUSYToolsAlg::SUSYToolsAlg
SUSYToolsAlg()
SUSYToolsAlg::groupSysts
void groupSysts(void)
Definition: SUSYToolsAlg.cxx:1436
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
SUSYToolsAlg::m_mcCampaign
std::string m_mcCampaign
Definition: SUSYToolsAlg.h:64
AnaAlgorithm.h
SUSYToolsAlg::m_doSyst
bool m_doSyst
Definition: SUSYToolsAlg.h:85
SUSYToolsAlg::m_slices
std::map< std::string, bool > m_slices
Definition: SUSYToolsAlg.h:65
EL::AnaAlgorithm
the (new) base class for EventLoop algorithms
Definition: AnaAlgorithm.h:73
SUSYToolsAlg::m_syst_all
std::map< std::string, std::vector< std::string > > m_syst_all
Definition: SUSYToolsAlg.h:87
SUSYToolsAlg::m_vars
std::vector< std::string > m_vars
Definition: SUSYToolsAlg.h:100
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
SUSYToolsAlg::m_syst_weights
std::map< std::string, std::vector< std::string > > m_syst_weights
Definition: SUSYToolsAlg.h:87
SUSYToolsAlg::m_kernel
std::string m_kernel
Definition: SUSYToolsAlg.h:78
SUSYToolsAlg::finalize
StatusCode finalize()
Definition: SUSYToolsAlg.cxx:254
SUSYToolsAlg::m_tauTruthMatchingTool
asg::AnaToolHandle< TauAnalysisTools::ITauTruthMatchingTool > m_tauTruthMatchingTool
Definition: SUSYToolsAlg.h:72
SUSYToolsAlg::m_Nevts
unsigned int m_Nevts
Definition: SUSYToolsAlg.h:74
SUSYToolsAlg::m_configFile
std::string m_configFile
Definition: SUSYToolsAlg.h:79
SUSYToolsAlg::m_objects
std::vector< std::string > m_objects
Definition: SUSYToolsAlg.h:98
SUSYToolsAlg::m_obj_count
std::map< std::string, std::map< std::string, int > > m_obj_count
Definition: SUSYToolsAlg.h:101
SUSYToolsAlg::m_SUSYTools
asg::AnaToolHandle< ST::ISUSYObjDef_xAODTool > m_SUSYTools
Definition: SUSYToolsAlg.h:70
SUSYToolsAlg::execute
StatusCode execute()
Definition: SUSYToolsAlg.cxx:300
SUSYToolsAlg::m_TrkJetTimeStamp
std::string m_TrkJetTimeStamp
Definition: SUSYToolsAlg.h:82
AnaToolHandle.h
SUSYToolsAlg::bookHistograms
StatusCode bookHistograms(void)
Definition: SUSYToolsAlg.cxx:1312
SUSYToolsAlg::m_GRLFiles
std::vector< std::string > m_GRLFiles
Definition: SUSYToolsAlg.h:63
SUSYToolsAlg::m_maxEvts
int m_maxEvts
Definition: SUSYToolsAlg.h:75
SUSYToolsAlg::initialize
StatusCode initialize()
Definition: SUSYToolsAlg.cxx:101
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
SUSYToolsAlg::m_triggers
std::map< std::string, std::vector< std::string > > m_triggers
Definition: SUSYToolsAlg.h:95
SUSYToolsAlg::m_isPHYSLITE
bool m_isPHYSLITE
Definition: SUSYToolsAlg.h:77
SUSYToolsAlg::m_configDict
std::map< std::string, std::string > m_configDict
Definition: SUSYToolsAlg.h:68
SUSYToolsAlg::m_TrkJetCollection
std::string m_TrkJetCollection
Definition: SUSYToolsAlg.h:81
SUSYToolsAlg::m_clock2
TStopwatch m_clock2
Definition: SUSYToolsAlg.h:92
SUSYToolsAlg::m_levels
std::vector< std::string > m_levels
Definition: SUSYToolsAlg.h:99
SUSYToolsAlg::m_lbfilter
int m_lbfilter
Definition: SUSYToolsAlg.h:76
SUSYToolsAlg::m_hists
std::map< std::string, TH1 * > m_hists
Definition: SUSYToolsAlg.h:66
ISUSYObjDef_xAODTool.h
SUSYToolsAlg::~SUSYToolsAlg
~SUSYToolsAlg()
Definition: SUSYToolsAlg.cxx:97
python.PyAthena.obj
obj
Definition: PyAthena.py:135
SUSYToolsAlg::m_clock1
TStopwatch m_clock1
Definition: SUSYToolsAlg.h:91
SUSYToolsAlg::m_heffs
std::map< std::string, TEfficiency * > m_heffs
Definition: SUSYToolsAlg.h:67