ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/FakeMods/interface/GenFakesMod.h
Revision: 1.1
Committed: Tue Jun 30 10:47:17 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     // Genfakesmod
5     //
6     // This Module generates a collection of FakeEventHeaders containing information
7     // about possible fakes and their weight. The collection generated takes into account all possible
8     // faking combinatorics from the given set of fakable objects.
9     //
10     // Authors: S.Xie
11     //--------------------------------------------------------------------------------------------------
12    
13     #ifndef MITPHYSICS_FAKEMODS_GENFAKESMOD_H
14     #define MITPHYSICS_FAKEMODS_GENFAKESMOD_H
15    
16     #include "MitAna/TreeMod/interface/BaseMod.h"
17     #include "MitAna/DataTree/interface/Collections.h"
18     #include "MitPhysics/FakeMods/interface/FakeRate.h"
19    
20     namespace mithep
21     {
22     class GenFakesMod : public BaseMod
23     {
24     public:
25     GenFakesMod(const char *name="GenFakesMod",
26     const char *title="Fake Object Generation Module");
27     ~GenFakesMod() {}
28    
29     const char *GetCleanElectronsName() const { return fCleanElectronsName; }
30     const char *GetCleanMuonsName() const { return fCleanMuonsName; }
31     const char *GetCleanPhotonsName() const { return fCleanPhotonsName; }
32     const char *GetCleanJetsName() const { return fCleanJetsName; }
33     const char *GetElectronFakeableObjectsName() const { return fElectronFakeableObjectsName; }
34     const char *GetMuonFakeableObjectsName() const { return fMuonFakeableObjectsName; }
35     const char *GetMCLeptonsName() const { return fMCLeptonsName; }
36     const char *GetMCTausName() const { return fMCTausName; }
37     const char *GetFakeEventHeadersName() const { return fFakeEventHeadersName; }
38     const char *GetOutputName() const { return GetFakeEventHeadersName(); }
39     const Bool_t GetUse2DFakeRate() const { return fUse2DFakeRate; }
40     const Bool_t GetUseFitFunction() const { return fUseFitFunction; }
41    
42     void SetCleanElectronsName(const char *name) { fCleanElectronsName = name; }
43     void SetCleanMuonssName(const char *name) { fCleanMuonsName = name; }
44     void SetCleanPhotonsName(const char *name) { fCleanPhotonsName = name; }
45     void SetCleanJetsName(const char *name) { fCleanJetsName = name; }
46     void SetElectronFakeableObjectsName(const char *name) { fElectronFakeableObjectsName = name; }
47     void SetMuonFakeableObjectsName(const char *name) { fMuonFakeableObjectsName = name; }
48     void SetMCLeptonsName(const char *name) { fMCLeptonsName = name; }
49     void SetMCTausName(const char *name) { fMCTausName = name; }
50     void SetFakeEventHeadersName(const char *name) { fFakeEventHeadersName = name; }
51     void SetOutputName(const char *name) { SetFakeEventHeadersName(name); }
52     void SetElectronFRFilename(const char *name) { fElectronFRFilename = name; }
53     void SetMuonFRFilename(const char *name) { fMuonFRFilename = name; }
54     void SetUse2DFakeRate(Bool_t b) { fUse2DFakeRate = b; }
55     void SetUseFitFunction(Bool_t b) { fUseFitFunction = b; }
56     void SetElectronFRFunctionName(const char *name) { fElectronFRFunctionName = name; }
57     void SetMuonFRFunctionName(const char *name) { fMuonFRFunctionName = name; }
58     void SetElectronFRHistName(const char *name) { fElectronFRHistName = name; }
59     void SetMuonFRHistName(const char *name) { fMuonFRHistName = name; }
60    
61     void LoadFakeRate();
62    
63     protected:
64     void Process();
65    
66     FakeRate *fFakeRate; //holds the fake probabilities
67     TString fElectronFRFilename; //file containing electron fake rate
68     TString fMuonFRFilename; //file containing muon fake rate
69     Bool_t fUse2DFakeRate; //whether to use fit function or not
70     Bool_t fUseFitFunction; //whether to use fit function or not
71     TString fElectronFRFunctionName; //fit function containing electron fake rate
72     TString fMuonFRFunctionName; //fit function containing muon fake rate
73     TString fElectronFRHistName; //hist containing electron fake rate
74     TString fMuonFRHistName; //hist containing muon fake rate
75     TString fCleanElectronsName; //name of clean electrons (input)
76     TString fCleanMuonsName; //name of clean muons (input)
77     TString fCleanPhotonsName; //name of clean photons (input)
78     TString fCleanJetsName; //name of clean jets (input)
79     TString fMCLeptonsName; //name of MC leptons
80     TString fMCTausName; //name of MC taus
81     TString fElectronFakeableObjectsName; //name of electron fakeable objects (input)
82     TString fMuonFakeableObjectsName; //name of muon fakeable objects (input)
83    
84     TString fFakeEventHeadersName; //name of collection of FakeEventHeaders (output)
85    
86     ClassDef(GenFakesMod, 1) // Jet cleaning module
87     };
88     }
89     #endif