ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/FakeMods/interface/FakeLeptonExampleAnaMod.h
Revision: 1.5
Committed: Tue Aug 11 09:15:59 2009 UTC (15 years, 8 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_029c, Mit_029b, Mit_029a, Mit_028a, Mit_028, Mit_027, Mit_027a, Mit_025e, Mit_025d, Mit_025c, Mit_025b, Mit_025a, Mit_025, Mit_025pre2, Mit_024b, Mit_025pre1, Mit_024a, Mit_024, Mit_023, Mit_022a, Mit_022, Mit_020d, TMit_020d, Mit_020c, Mit_021, Mit_021pre2, Mit_021pre1, Mit_020b, Mit_020a, Mit_020, Mit_020pre1, Mit_018, Mit_017, Mit_017pre3, Mit_017pre2, Mit_017pre1, Mit_016, Mit_015b, Mit_015a, Mit_015, Mit_014e, Mit_014d, Mit_014c, Mit_014b, Mit_014a, Mit_014, Mit_014pre3, Mit_014pre2, Mit_014pre1, Mit_013d, Mit_013c, Mit_013b, Mit_013a, Mit_013, Mit_013pre1, Mit_012i, Mit_012g, Mit_012f, Mit_012e, Mit_012d, Mit_012c, Mit_012b, Mit_012a, Mit_012, Mit_011a, Mit_011, Mit_010a, HEAD
Changes since 1.4: +40 -47 lines
Log Message:
Further cleanup

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: FakeLeptonExampleAnaMod.h,v 1.4 2009/08/10 16:07:26 phedex 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 *n) { fTriggerObjectsName = n; }
56
57 protected:
58 void Process();
59 void SlaveBegin();
60
61 Bool_t fUseMCFake; //whether to use MC simulation fakes
62 Bool_t fPerformFakeMuonMetCorrection; //whether to do fake muon met correction
63 TString fSampleName; //name of Sample
64 TString fFakeEventHeaderName; //name of fake event header (input)
65 TString fElectronFakeableObjectsName; //name of electron denominators (input)
66 TString fMuonFakeableObjectsName; //name of muon denominators (input)
67 TString fMCPartBranchName; //name of particle collection (input)
68 TString fGenJetBranchName; //name of genjet collection (input)
69 TString fTrackBranchName; //name of track collection (input)
70 TString fMuonBranchName; //name of muon collection (input)
71 TString fMetName; //name of met collection (input)
72 TString fCleanJetsName; //name of clean central jets collection
73 TString fTriggerObjectsName; //name of trigger objects
74 const MCParticleCol *fParticles; //!GenParticle branch
75 const GenJetCol *fGenJets; //!GenJet branch
76 const TrackCol *fTracks; //!Track branch
77 const MuonCol *fMuons; //!Muon branch
78 const MetCol *fMet; //!Missing Et
79 TH1D *fDileptonCharge; //!Dilepton Charge Histogram
80 TH1D *fLeptonPtMax; //!Lepton1 Pt Histogram
81 TH1D *fLeptonPtMin; //!Lepton2 Pt Histogram
82 TH1D *fMetPtHist; //!Met Histogram
83 TH1D *fDeltaPhiLeptons; //!DeltaPhi Histogram
84 TH1D *fDeltaEtaLeptons; //!DeltaEta Histogram
85 TH1D *fDileptonMass; //!Dilepton Mass Histogram
86 TH1D *fLeptonEta_NMinusOne; //!Lepton Eta Histogram
87 TH1D *fLeptonPtMax_NMinusOne; //!Lepton1 Pt Histogram
88 TH1D *fLeptonPtMin_NMinusOne; //!Lepton2 Pt Histogram
89 TH1D *fMetPtHist_NMinusOne; //!Met Histogram
90 TH1D *fMetPhiHist_NMinusOne; //!Met Phi Histogram
91 TH1D *fMETdeltaPhilEtHist_NMinusOne; //!METdeltaPhilEtHist Histogram
92 TH1D *fNCentralJets_NMinusOne; //!# of Central Jets Histogram
93 TH1D *fNDirtyMuonsHist_NMinusOne; //!# of Dirty Muons Histogram
94 TH1D *fNCleanExtraTracksHist_NMinusOne; //!# of Extra Tracks Histogram
95 TH1D *fDeltaPhiLeptons_NMinusOne; //!DeltaPhi Histogram
96 TH1D *fDeltaEtaLeptons_NMinusOne; //!DeltaEta Histogram
97 TH1D *fDileptonMass_NMinusOne; //!Dilepton Mass Histogram
98 TH1D *fMinDeltaPhiLeptonMet_NMinusOne; //!MinDeltaPhiLeptonMet Histogram
99 TH1D *fMinDeltaPhiLeptonMet_afterCuts; //!MinDeltaPhiLeptonMet Histogram
100 TH1D *fMtLepton1_afterCuts; //!M_t1 Histogram Histogram
101 TH1D *fMtLepton2_afterCuts; //!M_t2 Histogram Histogram
102 TH1D *fMtHiggs_afterCuts; //!M_t Higgs Histogram
103
104 ClassDef(FakeLeptonExampleAnaMod,1) // Fake lepton analysis example
105 };
106 }
107 #endif