1 |
#ifndef HbbAnalysis_HistosTausBase_hh
|
2 |
#define HbbAnalysis_HistosTausBase_hh
|
3 |
|
4 |
|
5 |
#include <vector>
|
6 |
#include <string>
|
7 |
|
8 |
#include "UserCode/HbbAnalysis/interface/HistosBase.hh"
|
9 |
|
10 |
#include "UserCode/HbbAnalysis/interface/Tau.hh"
|
11 |
|
12 |
#include "TH1F.h"
|
13 |
#include "TH2F.h"
|
14 |
|
15 |
|
16 |
namespace HbbAnalysis {//namespace
|
17 |
|
18 |
|
19 |
class HistosTausBase: public HistosBase {
|
20 |
|
21 |
public:
|
22 |
|
23 |
HistosTausBase():
|
24 |
doGenMatched_(false)
|
25 |
{};
|
26 |
~HistosTausBase(){};
|
27 |
|
28 |
void Initialise(TFileDirectory & aDir, std::string aName, bool aDoGenMatched=false);
|
29 |
|
30 |
void FillEventHistograms(const std::vector<HbbAnalysis::Tau> & aTauCol);
|
31 |
|
32 |
void FillHistograms(const HbbAnalysis::Tau & aTau, bool isLead=true);
|
33 |
|
34 |
bool MatchesGenTau(const HbbAnalysis::Tau & aTau);
|
35 |
|
36 |
protected:
|
37 |
|
38 |
bool doGenMatched_;
|
39 |
|
40 |
TH1F *p_recoOverGen;
|
41 |
TH1F *p_recoOverGen_vsEta[20];
|
42 |
TH1F *p_recoOverGen_vsPt[10];
|
43 |
|
44 |
TH1F *p_nTaus;
|
45 |
|
46 |
TH1F *p_leadTrk_pT;
|
47 |
TH1F *p_leadTrk_eta;
|
48 |
TH1F *p_leadTrk_phi;
|
49 |
TH1F *p_leadTrk_matchDist;
|
50 |
TH1F *p_leadTrk_IPxy;
|
51 |
TH1F *p_leadTrk_IPz;
|
52 |
|
53 |
TH1F *p_nIsolationTracks;
|
54 |
|
55 |
TH1F *p_nSignalTracks;
|
56 |
|
57 |
TH1F *p_genJet_pT;
|
58 |
TH1F *p_genJet_eta;
|
59 |
TH1F *p_genJet_phi;
|
60 |
TH1F *p_deltaRGenJet;
|
61 |
|
62 |
TH1F *p_tauType;
|
63 |
|
64 |
//for calo taus
|
65 |
TH1F *p_leadTracksignedSipt;
|
66 |
TH1F *p_leadTrackHCAL3x3hitsEtSum;
|
67 |
TH1F *p_leadTrackHCAL3x3hottesthitDEta;
|
68 |
TH1F *p_signalTracksInvariantMass;
|
69 |
TH1F *p_TracksInvariantMass;
|
70 |
TH1F *p_isolationTracksPtSum;
|
71 |
TH1F *p_isolationECALhitsEtSum;
|
72 |
TH1F *p_maximumHCALhitEt;
|
73 |
|
74 |
TH1F *p_caloTauID_ByIsolation;
|
75 |
TH1F *p_caloTauID_ByLeadingTrackFinding;
|
76 |
TH1F *p_caloTauID_ByLeadingTrackPtCut;
|
77 |
|
78 |
//for PF taus
|
79 |
TH1F *p_leadPFChargedHadrCand_pT;
|
80 |
TH1F *p_leadPFChargedHadrCand_eta;
|
81 |
TH1F *p_leadPFChargedHadrCand_phi;
|
82 |
TH1F *p_leadPFChargedHadrCandsignedSipt;
|
83 |
TH1F *p_nSignalPFCands;
|
84 |
TH1F *p_nSignalPFChargedHadrCands;
|
85 |
TH1F *p_nSignalPFNeutrHadrCands;
|
86 |
TH1F *p_nSignalPFGammaCands;
|
87 |
TH1F *p_nIsolationPFCands;
|
88 |
TH1F *p_nIsolationPFChargedHadrCands;
|
89 |
TH1F *p_nIsolationPFNeutrHadrCands;
|
90 |
TH1F *p_nIsolationPFGammaCands;
|
91 |
|
92 |
TH1F *p_isolationPFChargedHadrCandsPtSum;
|
93 |
TH1F *p_isolationPFGammaCandsEtSum;
|
94 |
TH1F *p_maximumHCALPFClusterEt;
|
95 |
TH1F *p_emFraction;
|
96 |
TH1F *p_hcalTotOverPLead;
|
97 |
TH1F *p_hcalMaxOverPLead;
|
98 |
TH1F *p_hcal3x3OverPLead;
|
99 |
TH1F *p_ecalStripSumEOverPLead;
|
100 |
TH1F *p_bremsRecoveryEOverPLead;
|
101 |
TH1F *p_electronPreIDTrack_pT;
|
102 |
TH1F *p_electronPreIDTrack_eta;
|
103 |
TH1F *p_electronPreIDTrack_phi;
|
104 |
|
105 |
TH1F *p_electronPreIDOutput;
|
106 |
TH1F *p_electronPreIDDecision;
|
107 |
TH1F *p_caloComp;
|
108 |
TH1F *p_segComp;
|
109 |
TH1F *p_muonDecision;
|
110 |
|
111 |
TH1F *p_pfTauID_ByLeadingTrackFinding;
|
112 |
TH1F *p_pfTauID_ByLeadingTrackPtCut;
|
113 |
TH1F *p_pfTauID_ByTrackIsolation;
|
114 |
TH1F *p_pfTauID_ByECALIsolation;
|
115 |
TH1F *p_pfTauID_ByIsolation;
|
116 |
TH1F *p_pfTauID_AgainstElectron;
|
117 |
TH1F *p_pfTauID_AgainstMuon;
|
118 |
|
119 |
TH1F *p_particleIso;
|
120 |
TH1F *p_chargedParticleIso;
|
121 |
TH1F *p_neutralParticleIso;
|
122 |
TH1F *p_gammaParticleIso;
|
123 |
|
124 |
|
125 |
|
126 |
|
127 |
|
128 |
};
|
129 |
|
130 |
}//namespace
|
131 |
|
132 |
|
133 |
|
134 |
#endif
|