ATLAS Offline Software
Loading...
Searching...
No Matches
DiMuMon.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 DiMuMon_H
6#define DiMuMon_H
7
8#include <vector>
9#include <map>
10
16
17
18class TH1F;
19class TH2F;
20
21
23{
24 public:
25
26 DiMuMon( const std::string & type, const std::string & name,
27 const IInterface* parent );
28
29 virtual ~DiMuMon();
30
31 virtual StatusCode initialize();
32 virtual StatusCode bookHistograms();
33 virtual StatusCode fillHistograms();
34 virtual StatusCode procHistograms();
35
36
37 template <class T> void RegisterHisto(MonGroup& mon, T* histo);
38 double getInvmass(const xAOD::TrackParticle* track1, const xAOD::TrackParticle* track2, double Mass) const;
39 double getCrtDiff(const xAOD::TrackParticle* id1, const xAOD::TrackParticle* id2 ) const;
40 double getEta(const xAOD::TrackParticle* id1, const xAOD::TrackParticle* id2 ) const;
41 double getPhi(const xAOD::TrackParticle* id1, const xAOD::TrackParticle* id2 ) const;
42 double getPt(const xAOD::TrackParticle* id1, const xAOD::TrackParticle* id2 ) const;
43 void iterativeGausFit(TH2F* hin, const std::vector<TH1F*>& hout, int mode);
44 bool trackQuality(const xAOD::TrackParticle *idTrk);
45
46
47 protected:
48
50
53 int m_nPtBins{};
56
57 double m_coneSize{};
59 double m_minInvmass{};
60 double m_maxInvmass{};
61 double m_ptCut{};
62 double m_etaCut{};
63
64 std::string m_resonName{};
65 std::string m_triggerChainName{};
67
68 bool m_doFits{};
70 bool m_setDebug{};
71
72
73 std::vector< std::string > m_regions;
74 std::vector< std::string > m_varsVSmean;
75 std::vector< std::string > m_varsVSwidth;
76 std::vector< std::string > m_varsDistr;
77 std::map< std::string, std::pair <double, double> > m_varRanges;
78 std::map< std::string, double > m_varValues;
79 std::map< std::string, std::string > m_varLabels;
80
81 TH1F* m_chi2{};
82 TH1F* m_stat{};
83 std::map< std::string, TH1F* > m_invmass;
84 std::map< std::string, std::map< std::string, TH2F*> > m_2DinvmassVSx;
85 std::map< std::string, std::map< std::string, TH1F*> > m_invmassVSx;
86 std::map< std::string, std::map< std::string, TH1F*> > m_widthVSx;
87 std::map< std::string, std::map< std::string, TH1F*> > m_xDistr;
88
89};
90
91#endif
HWIdentifier id2
std::map< std::string, std::map< std::string, TH2F * > > m_2DinvmassVSx
Definition DiMuMon.h:84
double m_maxInvmass
Definition DiMuMon.h:60
std::map< std::string, std::pair< double, double > > m_varRanges
Definition DiMuMon.h:77
std::string m_resonName
Definition DiMuMon.h:64
std::map< std::string, double > m_varValues
Definition DiMuMon.h:78
int m_nVarBins
Definition DiMuMon.h:52
std::map< std::string, std::map< std::string, TH1F * > > m_xDistr
Definition DiMuMon.h:87
std::map< std::string, std::map< std::string, TH1F * > > m_invmassVSx
Definition DiMuMon.h:85
void iterativeGausFit(TH2F *hin, const std::vector< TH1F * > &hout, int mode)
Definition DiMuMon.cxx:481
bool m_doFits
Definition DiMuMon.h:68
virtual StatusCode bookHistograms()
An inheriting class should either override this function or bookHists().
Definition DiMuMon.cxx:133
double m_coneSize
Definition DiMuMon.h:57
int m_nPhiBins
Definition DiMuMon.h:55
std::map< std::string, std::map< std::string, TH1F * > > m_widthVSx
Definition DiMuMon.h:86
virtual ~DiMuMon()
Definition DiMuMon.cxx:59
virtual StatusCode initialize()
Definition DiMuMon.cxx:63
bool trackQuality(const xAOD::TrackParticle *idTrk)
Definition DiMuMon.cxx:592
double m_etaCut
Definition DiMuMon.h:62
std::map< std::string, TH1F * > m_invmass
Definition DiMuMon.h:83
int m_nMassBins
Definition DiMuMon.h:51
int m_lumiBlockNum
Definition DiMuMon.h:49
double getCrtDiff(const xAOD::TrackParticle *id1, const xAOD::TrackParticle *id2) const
Definition DiMuMon.cxx:664
int m_nEtaBins
Definition DiMuMon.h:54
std::string m_triggerChainName
Definition DiMuMon.h:65
int m_nPtBins
Definition DiMuMon.h:53
double m_isolationCut
Definition DiMuMon.h:58
std::vector< std::string > m_varsVSwidth
Definition DiMuMon.h:75
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
Definition DiMuMon.cxx:245
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
Definition DiMuMon.cxx:451
std::vector< std::string > m_regions
Definition DiMuMon.h:73
bool m_setDebug
Definition DiMuMon.h:70
void RegisterHisto(MonGroup &mon, T *histo)
Definition DiMuMon.cxx:584
double getEta(const xAOD::TrackParticle *id1, const xAOD::TrackParticle *id2) const
Definition DiMuMon.cxx:645
double getPhi(const xAOD::TrackParticle *id1, const xAOD::TrackParticle *id2) const
Definition DiMuMon.cxx:655
TH1F * m_stat
Definition DiMuMon.h:82
SG::ReadHandleKey< xAOD::MuonContainer > m_muonCollection
Definition DiMuMon.h:66
DiMuMon(const std::string &type, const std::string &name, const IInterface *parent)
Definition DiMuMon.cxx:34
TH1F * m_chi2
Definition DiMuMon.h:81
double m_ptCut
Definition DiMuMon.h:61
double getPt(const xAOD::TrackParticle *id1, const xAOD::TrackParticle *id2) const
Definition DiMuMon.cxx:637
double getInvmass(const xAOD::TrackParticle *track1, const xAOD::TrackParticle *track2, double Mass) const
Definition DiMuMon.cxx:628
bool m_doSaveFits
Definition DiMuMon.h:69
std::vector< std::string > m_varsDistr
Definition DiMuMon.h:76
std::map< std::string, std::string > m_varLabels
Definition DiMuMon.h:79
double m_minInvmass
Definition DiMuMon.h:59
std::vector< std::string > m_varsVSmean
Definition DiMuMon.h:74
A container of information describing a monitoring object.
ManagedMonitorToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Property holding a SG store/key/clid from which a ReadHandle is made.
TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
TrackParticle_v1 TrackParticle
Reference the current persistent version: