ATLAS Offline Software
Loading...
Searching...
No Matches
SUSYToolsAlg.h
Go to the documentation of this file.
1// -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2026 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 const static SG::ConstAccessor<float> acc_GNTauScoreSigTrans("GNTauScoreSigTrans_v0prune");
50}
51
53
54 public:
55
56 // Constructor with parameters:
57 SUSYToolsAlg(const std::string& name, ISvcLocator* pSvcLocator);
58
59 // Destructor:
61
62 // Athena algorithm's Hooks
63 StatusCode initialize();
64 StatusCode execute();
65 StatusCode finalize();
66
67 private:
68
69 // Default constructor:
71
72 // helper functions
73 void groupSysts(void);
74 StatusCode bookHistograms(void);
75 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>());
76
77 // configuration and main tools
78 std::vector<std::string> m_GRLFiles;
79 std::string m_mcCampaign;
80 std::map<std::string,bool> m_slices;
81 std::map<std::string,TH1*> m_hists;
82 std::map<std::string,TEfficiency*> m_heffs;
83 std::map<std::string,std::string> m_configDict;
84
88
89 unsigned int m_Nevts;
93 std::string m_kernel;
94 std::string m_configFile;
95 std::string m_FatJetCollection;
96 std::string m_TrkJetCollection;
97 std::string m_TrkJetTimeStamp;
98
99 // systematics
101 std::vector<ST::SystInfo> m_sysInfoList;
102 std::map<std::string,std::vector<std::string>> m_syst_all, m_syst_weights;
103
104 // timing
105 TStopwatch m_clock0;
106 TStopwatch m_clock1;
107 TStopwatch m_clock2;
108
109 // triggers
110 std::map<std::string,std::vector<std::string>> m_triggers;
111
112 // histograms and counts
113 std::vector<std::string> m_objects;
114 std::vector<std::string> m_levels;
115 std::vector<std::string> m_vars;
116 std::map<std::string,std::map<std::string,int>> m_obj_count;
117
122
127
128};
129
130#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_GNTauScoreSigTrans("GNTauScoreSigTrans_v0prune")
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