ATLAS Offline Software
CaloTransverseBalanceVecMon.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // ********************************************************************
6 // NAME: CaloTransverseBalanceVecMon.h
7 //
8 // AUTHORS: FENG TIAN (COLUMBIA UNIVERSITY)
9 //
10 // Modified: L. Sawyer 12/2013
11 // New ATHENA monitoring uses managed histograms - time granularity no longer needed in user code
12 // ********************************************************************
13 
14 
15 #ifndef CALOTRANSVERSEBALANCE_H
16 #define CALOTRANSVERSEBALANCE_H
17 
19 
20 #include "GaudiKernel/ToolHandle.h"
21 #include "GaudiKernel/IToolSvc.h"
23 
25 
28 
29 #include <string>
30 #include "TH1D.h"
31 #include "TH2F.h"
32 #include "TProfile.h"
33 #include "TProfile2D.h"
34 #include "TCanvas.h"
35 #include <vector>
36 #include <set>
37 #include <utility>
38 #include <iostream>
39 
41  public:
42 
43  CaloTransverseBalanceVecMon(const std::string & type, const std::string& name,
44  const IInterface* parent);
46 
47  virtual StatusCode initialize();
49  virtual StatusCode bookHistograms();
50  virtual StatusCode fillHistograms();
51  virtual StatusCode procHistograms();
52 
53  private:
54  ToolHandle<Trig::TrigDecisionTool> m_trigDec;
55  // time granularity
56  std::string m_timeGran;
57  // switch for The algorithm LArNoisyAlg
59 
60  // useful functions
61  static float deltaR(float a_eta,float a_phi,float b_eta,float b_phi);
62  static void findLeadingPhoton(const PhotonContainer* userPhotonContainer,PhotonContainer::const_iterator& leadingPhPr);
64  (const std::vector<const Jet*>& userJetContainer,
65  Jet const* & leadingJetPr,
66  Jet const* & subleadingJetPr);
67  static void getmissingEt_phi(float missingEx,float missingEy,float& missingEt_phi);
68  static void AdjustPhi(float& deltaphi);
69  static void Plotregister(MonGroup* monitorGroup,TH1F* hist);
70  static void Plotregister(MonGroup* monitorGroup,TH2F* hist);
71  static void Plotregister(MonGroup* monitorGroup,TH1I* hist);
72  static void Plotregister(MonGroup* monitorGroup,TProfile* hist);
75 
79  std::vector<TH1F*> m_energy_s;
80  std::string m_PhotonContainerName;
81  std::string m_JetContainerName;
82  std::string m_missingEtObjectName;
84 // variables
89 //histos
116 //photon-MET
119 };
120 
121 #endif // CaloTransverseBalanceVecMon_H
CaloTransverseBalanceVecMon::m_cutflow_j_3
long m_cutflow_j_3
Definition: CaloTransverseBalanceVecMon.h:87
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
MissingET.h
CaloTransverseBalanceVecMon::m_useLArNoisyAlg
bool m_useLArNoisyAlg
Definition: CaloTransverseBalanceVecMon.h:58
CaloTransverseBalanceVecMon::m_h_jet_phi_beforeoverlap
TH1F * m_h_jet_phi_beforeoverlap
Definition: CaloTransverseBalanceVecMon.h:95
Jet
Basic data class defines behavior for all Jet objects The Jet class is the principal data class for...
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:47
TH1I
Definition: rootspy.cxx:332
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:74
TH2F
Definition: rootspy.cxx:420
CaloTransverseBalanceVecMon::m_h_pt_ratio
TH1F * m_h_pt_ratio
Definition: CaloTransverseBalanceVecMon.h:115
CaloTransverseBalanceVecMon::AdjustPhi
static void AdjustPhi(float &deltaphi)
Definition: CaloTransverseBalanceVecMon.cxx:79
CaloTransverseBalanceVecMon::m_h_leadingJet_eta
TH1F * m_h_leadingJet_eta
Definition: CaloTransverseBalanceVecMon.h:102
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
CaloTransverseBalanceVecMon::findleadingANDsubleadingjets
static void findleadingANDsubleadingjets(const std::vector< const Jet * > &userJetContainer, Jet const *&leadingJetPr, Jet const *&subleadingJetPr)
Definition: CaloTransverseBalanceVecMon.cxx:40
plotmaker.hist
hist
Definition: plotmaker.py:148
CaloTransverseBalanceVecMon::m_h_leadingPh_MET_deltaPhi
TH1F * m_h_leadingPh_MET_deltaPhi
Definition: CaloTransverseBalanceVecMon.h:117
CaloTransverseBalanceVecMon::m_p_ptratioVsPhi_ECA
TProfile * m_p_ptratioVsPhi_ECA
Definition: CaloTransverseBalanceVecMon.h:108
CaloTransverseBalanceVecMon::initialize
virtual StatusCode initialize()
Definition: CaloTransverseBalanceVecMon.cxx:142
CaloTransverseBalanceVecMon::getmissingEt_phi
static void getmissingEt_phi(float missingEx, float missingEy, float &missingEt_phi)
Definition: CaloTransverseBalanceVecMon.cxx:56
CaloTransverseBalanceVecMon::fillHistograms
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
Definition: CaloTransverseBalanceVecMon.cxx:260
TrigDecisionTool.h
CaloTransverseBalanceVecMon::findLeadingPhoton
static void findLeadingPhoton(const PhotonContainer *userPhotonContainer, PhotonContainer::const_iterator &leadingPhPr)
Definition: CaloTransverseBalanceVecMon.cxx:32
CaloTransverseBalanceVecMon::m_h2_ptratioVsPhi_ECA
TH2F * m_h2_ptratioVsPhi_ECA
Definition: CaloTransverseBalanceVecMon.h:112
CaloTransverseBalanceVecMon::m_h2_ptratioVsPhi_Barrel
TH2F * m_h2_ptratioVsPhi_Barrel
Definition: CaloTransverseBalanceVecMon.h:110
CaloTransverseBalanceVecMon::CaloTransverseBalanceVecMon
CaloTransverseBalanceVecMon(const std::string &type, const std::string &name, const IInterface *parent)
Definition: CaloTransverseBalanceVecMon.cxx:83
PhotonContainer
Definition: Reconstruction/egamma/egammaEvent/egammaEvent/PhotonContainer.h:30
CaloTransverseBalanceVecMon::m_h_jet_eta_beforeoverlap
TH1F * m_h_jet_eta_beforeoverlap
Definition: CaloTransverseBalanceVecMon.h:94
CaloTransverseBalanceVecMon::m_h2_ph_leadingJet_eta
TH2F * m_h2_ph_leadingJet_eta
Definition: CaloTransverseBalanceVecMon.h:105
CaloTransverseBalanceVecMon::~CaloTransverseBalanceVecMon
virtual ~CaloTransverseBalanceVecMon()
CaloTransverseBalanceVecMon::m_theTransverseBalance_shift
MonGroup * m_theTransverseBalance_shift
Definition: CaloTransverseBalanceVecMon.h:83
CaloTransverseBalanceVecMon::m_p_ptratioVsPhi_Barrel
TProfile * m_p_ptratioVsPhi_Barrel
Definition: CaloTransverseBalanceVecMon.h:106
ManagedMonitorToolBase.h
CaloTransverseBalanceVecMon::m_h_jet_eta_afteroverlap
TH1F * m_h_jet_eta_afteroverlap
Definition: CaloTransverseBalanceVecMon.h:97
ManagedMonitorToolBase::MonGroup
A container of information describing a monitoring object.
Definition: ManagedMonitorToolBase.h:138
CaloTransverseBalanceVecMon::m_PhotonContainerName
std::string m_PhotonContainerName
Definition: CaloTransverseBalanceVecMon.h:80
CaloTransverseBalanceVecMon::bookHistograms
virtual StatusCode bookHistograms()
An inheriting class should either override this function or bookHists().
Definition: CaloTransverseBalanceVecMon.cxx:161
CaloTransverseBalanceVecMon::m_h2_ptratioVsPhi_ECC
TH2F * m_h2_ptratioVsPhi_ECC
Definition: CaloTransverseBalanceVecMon.h:111
CaloTransverseBalanceVecMon::m_timeGran
std::string m_timeGran
Definition: CaloTransverseBalanceVecMon.h:56
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CaloTransverseBalanceVecMon::m_h_jet_pt_afteroverlap
TH1F * m_h_jet_pt_afteroverlap
Definition: CaloTransverseBalanceVecMon.h:96
CaloTransverseBalanceVecMon::m_missingEtObjectName
std::string m_missingEtObjectName
Definition: CaloTransverseBalanceVecMon.h:82
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CaloTransverseBalanceVecMon::bookHistogramsRecurrent
virtual StatusCode bookHistogramsRecurrent()
An inheriting class should either override this function, bookHists() or bookHistograms().
Definition: CaloTransverseBalanceVecMon.cxx:154
CaloTransverseBalanceVecMon::m_cutflow_j_1
long m_cutflow_j_1
Definition: CaloTransverseBalanceVecMon.h:85
CaloTransverseBalanceVecMon::m_h_jet_phi_afteroverlap
TH1F * m_h_jet_phi_afteroverlap
Definition: CaloTransverseBalanceVecMon.h:98
CaloTransverseBalanceVecMon::m_h_leadingJet_phi
TH1F * m_h_leadingJet_phi
Definition: CaloTransverseBalanceVecMon.h:103
CaloTransverseBalanceVecMon::m_p_ptratioVsPhi_ECC
TProfile * m_p_ptratioVsPhi_ECC
Definition: CaloTransverseBalanceVecMon.h:107
CaloTransverseBalanceVecMon::m_cutflow_j_2
long m_cutflow_j_2
Definition: CaloTransverseBalanceVecMon.h:86
CaloTransverseBalanceVecMon::m_p_ptratioVsEta
TProfile * m_p_ptratioVsEta
Definition: CaloTransverseBalanceVecMon.h:109
CaloTransverseBalanceVecMon::m_h_photon_pt
TH1F * m_h_photon_pt
Definition: CaloTransverseBalanceVecMon.h:90
CaloTransverseBalanceVecMon::m_h_overlapped_ph_jet_ptratio
TH1F * m_h_overlapped_ph_jet_ptratio
Definition: CaloTransverseBalanceVecMon.h:114
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
CaloTransverseBalanceVecMon::m_trigDec
ToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition: CaloTransverseBalanceVecMon.h:54
CaloTransverseBalanceVecMon::m_h_photon_phi
TH1F * m_h_photon_phi
Definition: CaloTransverseBalanceVecMon.h:92
CaloTransverseBalanceVecMon::m_h_leadingJet_pt
TH1F * m_h_leadingJet_pt
Definition: CaloTransverseBalanceVecMon.h:101
TProfile
Definition: rootspy.cxx:515
CaloTransverseBalanceVecMon::m_h2_leadingPh_MET_deltaPhiVsPt
TH2F * m_h2_leadingPh_MET_deltaPhiVsPt
Definition: CaloTransverseBalanceVecMon.h:118
CaloTransverseBalanceVecMon::m_h_photon_eta
TH1F * m_h_photon_eta
Definition: CaloTransverseBalanceVecMon.h:91
CaloTransverseBalanceVecMon::procHistograms
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
Definition: CaloTransverseBalanceVecMon.cxx:410
CaloTransverseBalanceVecMon::m_photonPtCut
float m_photonPtCut
Definition: CaloTransverseBalanceVecMon.h:74
TH1F
Definition: rootspy.cxx:320
CaloTransverseBalanceVecMon
Definition: CaloTransverseBalanceVecMon.h:40
ConstDataVector< PhotonContainer >
CaloTransverseBalanceVecMon::m_h_njet_afteroverlap
TH1I * m_h_njet_afteroverlap
Definition: CaloTransverseBalanceVecMon.h:100
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
MissingET
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingET.h:23
CaloTransverseBalanceVecMon::m_TriggerCut
bool m_TriggerCut
Definition: CaloTransverseBalanceVecMon.h:88
CaloTransverseBalanceVecMon::m_energy_s
std::vector< TH1F * > m_energy_s
Definition: CaloTransverseBalanceVecMon.h:79
CaloTransverseBalanceVecMon::m_h_jet_pt_beforeoverlap
TH1F * m_h_jet_pt_beforeoverlap
Definition: CaloTransverseBalanceVecMon.h:93
CaloTransverseBalanceVecMon::deltaR
static float deltaR(float a_eta, float a_phi, float b_eta, float b_phi)
Definition: CaloTransverseBalanceVecMon.cxx:415
CaloTransverseBalanceVecMon::m_h_njet_beforeoverlap
TH1I * m_h_njet_beforeoverlap
Definition: CaloTransverseBalanceVecMon.h:99
CaloTransverseBalanceVecMon::m_h2_ptratioVsEta
TH2F * m_h2_ptratioVsEta
Definition: CaloTransverseBalanceVecMon.h:113
CaloTransverseBalanceVecMon::Plotregister
static void Plotregister(MonGroup *monitorGroup, TH1F *hist)
Definition: CaloTransverseBalanceVecMon.cxx:421
CaloTransverseBalanceVecMon::m_userPhotonContainer
ConstDataVector< PhotonContainer > * m_userPhotonContainer
Definition: CaloTransverseBalanceVecMon.h:76
CaloTransverseBalanceVecMon::m_pMissing
const MissingET * m_pMissing
The missing ET object.
Definition: CaloTransverseBalanceVecMon.h:78
CaloTransverseBalanceVecMon::m_h_deltaPhi
TH1F * m_h_deltaPhi
Definition: CaloTransverseBalanceVecMon.h:104
CaloTransverseBalanceVecMon::m_JetContainerName
std::string m_JetContainerName
Definition: CaloTransverseBalanceVecMon.h:81
PhotonContainer.h