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

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 phedex 1.4 // $Id: FakeLeptonExampleAnaMod.h,v 1.3 2009/07/20 19:05:04 loizides Exp $
3 loizides 1.1 //
4     // FakeLeptonExampleAnaMod
5     //
6 phedex 1.4 // 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 loizides 1.1 //
10 loizides 1.3 // Authors: S.Xie
11 loizides 1.1 //--------------------------------------------------------------------------------------------------
12    
13     #ifndef MITHIGGS_HWWMODS_FAKELEPTONEXAMPLEANAMOD_H
14     #define MITHIGGS_HWWMODS_FAKELEPTONEXAMPLEANAMOD_H
15    
16     #include "MitAna/TreeMod/interface/BaseMod.h"
17 loizides 1.2 #include "MitAna/DataTree/interface/CollectionsFwd.h"
18 loizides 1.1
19     class TH1D;
20     class TH2D;
21    
22     namespace mithep
23     {
24     class FakeLeptonExampleAnaMod : public BaseMod
25     {
26     public:
27 loizides 1.2 FakeLeptonExampleAnaMod(const char *name="FakeLeptonExampleAnaMod",
28     const char *title="Example analysis module with all branches");
29 loizides 1.1
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 loizides 1.3 void Begin();
59     void Process();
60     void SlaveBegin();
61     void SlaveTerminate();
62     void Terminate();
63    
64 loizides 1.1 Bool_t fUseMCFake; //whether to use MC simulation fakes
65 phedex 1.4 Bool_t fPerformFakeMuonMetCorrection; //whether to do fake muon met correction
66 loizides 1.1 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 phedex 1.4 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 loizides 1.1 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 phedex 1.4 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 loizides 1.1
111 loizides 1.3 ClassDef(FakeLeptonExampleAnaMod,1) // Fake lepton analysis example
112 loizides 1.1 };
113     }
114     #endif