ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/FakeMods/interface/FakeLeptonExampleAnaMod.h
Revision: 1.1
Committed: Tue Jun 30 10:47:16 2009 UTC (15 years, 10 months ago) by loizides
Content type: text/plain
Branch: MAIN
Log Message:
Added FakeMods.

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id: $
3     //
4     // FakeLeptonExampleAnaMod
5     //
6     // A Module for Selecting H->WW events
7     // and produces some distributions.
8     //
9     //
10     // Authors: Si 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/Collections.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     ~FakeLeptonExampleAnaMod() {}
30    
31     Bool_t GetUseMCFake() { return fUseMCFake; }
32     Bool_t GetPerformFakeMuonMetCorrection() { return fPerformFakeMuonMetCorrection; }
33     const char *GetSampleName() const { return fSampleName; }
34     const char *GetFakeEventHeaderName() const { return fFakeEventHeaderName; }
35     const char *GetElectronFakeableObjectsName() const { return fElectronFakeableObjectsName; }
36     const char *GetMuonFakeableObjectsName() const { return fMuonFakeableObjectsName; }
37     const char *GetMCPartBranchName() const { return fMCPartBranchName; }
38     const char *GetGenJetBranchName() const { return fGenJetBranchName; }
39     const char *GetTrackBranchName() const { return fTrackBranchName; }
40     const char *GetMuonBranchName() const { return fMuonBranchName; }
41     const char *GetMetName() const { return fMetName; }
42     const char *GetTriggerObjectsName() const { return fTriggerObjectsName; }
43    
44     void SetUseMCFake(Bool_t b) { fUseMCFake = b; }
45     void SetPerformFakeMuonMetCorrection(Bool_t b) { fPerformFakeMuonMetCorrection = b; }
46     void SetSampleName(const char *s) { fSampleName = s; }
47     void SetFakeEventHeaderName (const char *s) { fFakeEventHeaderName = s; }
48     void SetElectronFakeableObjectsName(const char *s) { fElectronFakeableObjectsName = s; }
49     void SetMuonFakeableObjectsName(const char *s) { fMuonFakeableObjectsName = s; }
50     void SetCleanJetsName (TString s) { fCleanJetsName = s; }
51     void SetMCPartBranchName (TString s) { fMCPartBranchName = s; }
52     void SetGenJetBranchName (TString s) { fGenJetBranchName = s; }
53     void SetTrackBranchName (TString s) { fTrackBranchName = s; }
54     void SetMuonBranchName (TString s) { fMuonBranchName = s; }
55     void SetMetName (TString s) { fMetName = s; }
56     void SetTriggerObjectsName(const char *name) { fTriggerObjectsName = name; }
57    
58     protected:
59     Bool_t fUseMCFake; //whether to use MC simulation fakes
60     Bool_t fPerformFakeMuonMetCorrection; //whether to perform fake muon
61     //met correction
62     TString fSampleName; //name of Sample
63     TString fFakeEventHeaderName; //name of fake event header (input)
64     TString fElectronFakeableObjectsName; //name of electron denominators (input)
65     TString fMuonFakeableObjectsName; //name of muon denominators (input)
66     TString fMCPartBranchName; //name of particle collection
67     TString fGenJetBranchName; //name of genjet collection
68     TString fTrackBranchName; //name of track collection
69     TString fMuonBranchName; //name of muon collection
70     TString fMetName; //name of met collection
71     TString fCleanJetsName; //name of clean central jets collection
72     TString fTriggerObjectsName; //name of trigger objects
73     const MCParticleCol *fParticles; //!GenParticle branch
74     const GenJetCol *fGenJets; //!GenJet branch
75     const TrackCol *fTracks; //!Track branch
76     const MuonCol *fMuons; //!Muon branch
77     const MetCol *fMet; //!Missing Et
78    
79    
80     TH1D *fDileptonCharge;
81     TH1D *fLeptonPtMax;
82     TH1D *fLeptonPtMin;
83     TH1D *fMetPtHist;
84     TH1D *fDeltaPhiLeptons;
85     TH1D *fDeltaEtaLeptons;
86     TH1D *fDileptonMass;
87    
88     TH1D *fLeptonEta_NMinusOne;
89     TH1D *fLeptonPtMax_NMinusOne;
90     TH1D *fLeptonPtMin_NMinusOne;
91     TH1D *fMetPtHist_NMinusOne;
92     TH1D *fMetPhiHist_NMinusOne;
93     TH1D *fMETdeltaPhilEtHist_NMinusOne;
94     TH1D *fNCentralJets_NMinusOne;
95     TH1D *fNDirtyMuonsHist_NMinusOne;
96     TH1D *fNCleanExtraTracksHist_NMinusOne;
97     TH1D *fDeltaPhiLeptons_NMinusOne;
98     TH1D *fDeltaEtaLeptons_NMinusOne;
99     TH1D *fDileptonMass_NMinusOne;
100     TH1D *fMinDeltaPhiLeptonMet_NMinusOne;
101    
102     TH1D *fMinDeltaPhiLeptonMet_afterCuts;
103     TH1D *fMtLepton1_afterCuts;
104     TH1D *fMtLepton2_afterCuts;
105     TH1D *fMtHiggs_afterCuts;
106    
107    
108     void Begin();
109     void Process();
110     void SlaveBegin();
111     void SlaveTerminate();
112     void Terminate();
113    
114     ClassDef(FakeLeptonExampleAnaMod,1) // TAM example analysis module
115     };
116     }
117     #endif