ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/FakeMods/interface/FakeLeptonExampleAnaMod.h
Revision: 1.4
Committed: Mon Aug 10 16:07:26 2009 UTC (15 years, 8 months ago) by phedex
Content type: text/plain
Branch: MAIN
Changes since 1.3: +36 -35 lines
Log Message:
Use TH2DAsymError class to store asymmetric statistical and systematic errors. Do comment and style cleanup.

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: FakeLeptonExampleAnaMod.h,v 1.3 2009/07/20 19:05:04 loizides Exp $
3 //
4 // FakeLeptonExampleAnaMod
5 //
6 // This is an example analysis module which makes use of the FakeEventHeader objects in order to
7 // loop over all possible fake lepton combinations. This module is meant to illustrate how
8 // the FakeEventHeader objects are to be used for analysis involving fake leptons.
9 //
10 // Authors: S.Xie
11 //--------------------------------------------------------------------------------------------------
12
13 #ifndef MITHIGGS_HWWMODS_FAKELEPTONEXAMPLEANAMOD_H
14 #define MITHIGGS_HWWMODS_FAKELEPTONEXAMPLEANAMOD_H
15
16 #include "MitAna/TreeMod/interface/BaseMod.h"
17 #include "MitAna/DataTree/interface/CollectionsFwd.h"
18
19 class TH1D;
20 class TH2D;
21
22 namespace mithep
23 {
24 class FakeLeptonExampleAnaMod : public BaseMod
25 {
26 public:
27 FakeLeptonExampleAnaMod(const char *name="FakeLeptonExampleAnaMod",
28 const char *title="Example analysis module with all branches");
29
30 Bool_t GetUseMCFake() { return fUseMCFake; }
31 Bool_t GetPerformFakeMuonMetCorrection() { return fPerformFakeMuonMetCorrection; }
32 const char *GetSampleName() const { return fSampleName; }
33 const char *GetFakeEventHeaderName() const { return fFakeEventHeaderName; }
34 const char *GetElectronFakeableObjectsName() const { return fElectronFakeableObjectsName; }
35 const char *GetMuonFakeableObjectsName() const { return fMuonFakeableObjectsName; }
36 const char *GetMCPartBranchName() const { return fMCPartBranchName; }
37 const char *GetGenJetBranchName() const { return fGenJetBranchName; }
38 const char *GetTrackBranchName() const { return fTrackBranchName; }
39 const char *GetMuonBranchName() const { return fMuonBranchName; }
40 const char *GetMetName() const { return fMetName; }
41 const char *GetTriggerObjectsName() const { return fTriggerObjectsName; }
42
43 void SetUseMCFake(Bool_t b) { fUseMCFake = b; }
44 void SetPerformFakeMuonMetCorrection(Bool_t b) { fPerformFakeMuonMetCorrection = b; }
45 void SetSampleName(const char *s) { fSampleName = s; }
46 void SetFakeEventHeaderName (const char *s) { fFakeEventHeaderName = s; }
47 void SetElectronFakeableObjectsName(const char *s) { fElectronFakeableObjectsName = s; }
48 void SetMuonFakeableObjectsName(const char *s) { fMuonFakeableObjectsName = s; }
49 void SetCleanJetsName (TString s) { fCleanJetsName = s; }
50 void SetMCPartBranchName (TString s) { fMCPartBranchName = s; }
51 void SetGenJetBranchName (TString s) { fGenJetBranchName = s; }
52 void SetTrackBranchName (TString s) { fTrackBranchName = s; }
53 void SetMuonBranchName (TString s) { fMuonBranchName = s; }
54 void SetMetName (TString s) { fMetName = s; }
55 void SetTriggerObjectsName(const char *name) { fTriggerObjectsName = name; }
56
57 protected:
58 void Begin();
59 void Process();
60 void SlaveBegin();
61 void SlaveTerminate();
62 void Terminate();
63
64 Bool_t fUseMCFake; //whether to use MC simulation fakes
65 Bool_t fPerformFakeMuonMetCorrection; //whether to do fake muon met correction
66 TString fSampleName; //name of Sample
67 TString fFakeEventHeaderName; //name of fake event header (input)
68 TString fElectronFakeableObjectsName; //name of electron denominators (input)
69 TString fMuonFakeableObjectsName; //name of muon denominators (input)
70 TString fMCPartBranchName; //name of particle collection (input)
71 TString fGenJetBranchName; //name of genjet collection (input)
72 TString fTrackBranchName; //name of track collection (input)
73 TString fMuonBranchName; //name of muon collection (input)
74 TString fMetName; //name of met collection (input)
75 TString fCleanJetsName; //name of clean central jets collection
76 TString fTriggerObjectsName; //name of trigger objects
77 const MCParticleCol *fParticles; //!GenParticle branch
78 const GenJetCol *fGenJets; //!GenJet branch
79 const TrackCol *fTracks; //!Track branch
80 const MuonCol *fMuons; //!Muon branch
81 const MetCol *fMet; //!Missing Et
82
83
84 TH1D *fDileptonCharge; //Dilepton Charge Histogram
85 TH1D *fLeptonPtMax; //Lepton1 Pt Histogram
86 TH1D *fLeptonPtMin; //Lepton2 Pt Histogram
87 TH1D *fMetPtHist; //Met Histogram
88 TH1D *fDeltaPhiLeptons; //DeltaPhi Histogram
89 TH1D *fDeltaEtaLeptons; //DeltaEta Histogram
90 TH1D *fDileptonMass; //Dilepton Mass Histogram
91
92 TH1D *fLeptonEta_NMinusOne; //Lepton Eta Histogram
93 TH1D *fLeptonPtMax_NMinusOne; //Lepton1 Pt Histogram
94 TH1D *fLeptonPtMin_NMinusOne; //Lepton2 Pt Histogram
95 TH1D *fMetPtHist_NMinusOne; //Met Histogram
96 TH1D *fMetPhiHist_NMinusOne; //Met Phi Histogram
97 TH1D *fMETdeltaPhilEtHist_NMinusOne; //METdeltaPhilEtHist Histogram
98 TH1D *fNCentralJets_NMinusOne; //# of Central Jets Histogram
99 TH1D *fNDirtyMuonsHist_NMinusOne; //# of Dirty Muons Histogram
100 TH1D *fNCleanExtraTracksHist_NMinusOne; //# of Extra Tracks Histogram
101 TH1D *fDeltaPhiLeptons_NMinusOne; //DeltaPhi Histogram
102 TH1D *fDeltaEtaLeptons_NMinusOne; //DeltaEta Histogram
103 TH1D *fDileptonMass_NMinusOne; //Dilepton Mass Histogram
104 TH1D *fMinDeltaPhiLeptonMet_NMinusOne; //MinDeltaPhiLeptonMet Histogram
105
106 TH1D *fMinDeltaPhiLeptonMet_afterCuts; //MinDeltaPhiLeptonMet Histogram
107 TH1D *fMtLepton1_afterCuts; //M_t1 Histogram Histogram
108 TH1D *fMtLepton2_afterCuts; //M_t2 Histogram Histogram
109 TH1D *fMtHiggs_afterCuts; //M_t Higgs Histogram
110
111 ClassDef(FakeLeptonExampleAnaMod,1) // Fake lepton analysis example
112 };
113 }
114 #endif