ATLAS Offline Software
Loading...
Searching...
No Matches
SUSYToolsAlg.h
Go to the documentation of this file.
1// -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2024 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
17
18// For SystInfo needs to be included
20// GRL
24
25
26// Timing
27#include "TStopwatch.h"
28#include "TEfficiency.h"
29
30// Standard library includes
31#include <string>
32#include <vector>
33
34// Need truth matching for TauJet CP tools
35namespace TauAnalysisTools {
37}
38
39// Define ConstAccessors
40namespace STAlg {
41 const static SG::ConstAccessor<float> acc_ptvarcone30_TTVA_LooseCone("ptvarcone30_Nonprompt_All_MaxWeightTTVALooseCone_pt1000");
42 const static SG::ConstAccessor<float> acc_ptvarcone30_TTVA("ptvarcone30_Nonprompt_All_MaxWeightTTVA_pt1000");
43 const static SG::ConstAccessor<float> acc_topoetcone20("topoetcone20");
44 const static SG::ConstAccessor<float> acc_topoetcone40("topoetcone40");
45 const static SG::ConstAccessor<float> acc_ptcone20("ptcone20");
46 const static SG::ConstAccessor<char> acc_IsTruthMatched("IsTruthMatched");
48 const static SG::ConstAccessor<float> acc_RNNJetScoreSigTrans("RNNJetScoreSigTrans");
49}
50
52
53 public:
54
55 // Constructor with parameters:
56 SUSYToolsAlg(const std::string& name, ISvcLocator* pSvcLocator);
57
58 // Destructor:
60
61 // Athena algorithm's Hooks
62 StatusCode initialize();
63 StatusCode execute();
64 StatusCode finalize();
65
66 private:
67
68 // Default constructor:
70
71 // helper functions
72 void groupSysts(void);
73 StatusCode bookHistograms(void);
74 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>());
75
76 // configuration and main tools
77 std::vector<std::string> m_GRLFiles;
78 std::string m_mcCampaign;
79 std::map<std::string,bool> m_slices;
80 std::map<std::string,TH1*> m_hists;
81 std::map<std::string,TEfficiency*> m_heffs;
82 std::map<std::string,std::string> m_configDict;
83
87
88 unsigned int m_Nevts;
92 std::string m_kernel;
93 std::string m_configFile;
94 std::string m_FatJetCollection;
95 std::string m_TrkJetCollection;
96 std::string m_TrkJetTimeStamp;
97
98 // systematics
100 std::vector<ST::SystInfo> m_sysInfoList;
101 std::map<std::string,std::vector<std::string>> m_syst_all, m_syst_weights;
102
103 // timing
104 TStopwatch m_clock0;
105 TStopwatch m_clock1;
106 TStopwatch m_clock2;
107
108 // triggers
109 std::map<std::string,std::vector<std::string>> m_triggers;
110
111 // histograms and counts
112 std::vector<std::string> m_objects;
113 std::vector<std::string> m_levels;
114 std::vector<std::string> m_vars;
115 std::map<std::string,std::map<std::string,int>> m_obj_count;
116
121
126
127};
128
129#endif
the (new) base class for EventLoop algorithms
Helper class to provide constant type-safe access to aux data.
std::vector< std::string > m_vars
SUSYToolsAlg(const std::string &name, ISvcLocator *pSvcLocator)
std::map< std::string, TEfficiency * > m_heffs
StatusCode execute()
asg::AnaToolHandle< IGoodRunsListSelectionTool > m_grl
xAOD::MissingETContainer * m_mettst_nominal
TStopwatch m_clock2
std::map< std::string, std::vector< std::string > > m_triggers
xAOD::MissingETContainer * m_mettst_syst
std::map< std::string, std::vector< std::string > > m_syst_weights
std::map< std::string, std::vector< std::string > > m_syst_all
xAOD::MissingETContainer * m_metcst_nominal
std::map< std::string, bool > m_slices
xAOD::MissingETContainer * m_metcst_syst
std::map< std::string, std::map< std::string, int > > m_obj_count
std::string m_kernel
std::string m_TrkJetCollection
std::string m_TrkJetTimeStamp
std::vector< std::string > m_objects
std::string m_mcCampaign
xAOD::MissingETAuxContainer * m_mettst_nominal_aux
std::map< std::string, TH1 * > m_hists
asg::AnaToolHandle< ST::ISUSYObjDef_xAODTool > m_SUSYTools
xAOD::MissingETAuxContainer * m_metcst_nominal_aux
std::string m_configFile
void groupSysts(void)
StatusCode bookHistograms(void)
asg::AnaToolHandle< TauAnalysisTools::ITauTruthMatchingTool > m_tauTruthMatchingTool
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 >())
xAOD::MissingETAuxContainer * m_mettst_syst_aux
TStopwatch m_clock1
std::vector< std::string > m_levels
xAOD::MissingETAuxContainer * m_metcst_syst_aux
TStopwatch m_clock0
StatusCode initialize()
std::vector< ST::SystInfo > m_sysInfoList
unsigned int m_Nevts
std::map< std::string, std::string > m_configDict
std::string m_FatJetCollection
std::vector< std::string > m_GRLFiles
StatusCode finalize()
a modified tool handle that allows its owner to configure new tools from the C++ side
Class providing the definition of the 4-vector interface.
static const SG::ConstAccessor< float > acc_RNNJetScoreSigTrans("RNNJetScoreSigTrans")
static const SG::ConstAccessor< float > acc_ptvarcone30_TTVA("ptvarcone30_Nonprompt_All_MaxWeightTTVA_pt1000")
static const SG::ConstAccessor< char > acc_IsTruthMatched("IsTruthMatched")
static const SG::ConstAccessor< float > acc_topoetcone20("topoetcone20")
static const SG::ConstAccessor< float > acc_ptvarcone30_TTVA_LooseCone("ptvarcone30_Nonprompt_All_MaxWeightTTVALooseCone_pt1000")
static const SG::ConstAccessor< float > acc_ptcone20("ptcone20")
static const SG::ConstAccessor< float > acc_topoetcone40("topoetcone40")
static const SG::ConstAccessor< ElementLink< xAOD::TruthParticleContainer > > acc_truthParticleLink("truthParticleLink")
MissingETAuxContainer_v1 MissingETAuxContainer