ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/FakeMods/interface/GenFakesMod.h
Revision: 1.6
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.5: +20 -22 lines
Log Message:
Further cleanup

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 loizides 1.6 // $Id: GenFakesMod.h,v 1.5 2009/08/10 16:07:26 phedex Exp $
3 loizides 1.1 //
4 loizides 1.4 // GenFakesMod
5 loizides 1.1 //
6     // This Module generates a collection of FakeEventHeaders containing information
7 loizides 1.4 // about possible fakes and their weight. The collection generated takes into account
8 phedex 1.5 // all possible faking combinations from the given set of fakeable objects.
9 loizides 1.1 //
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    
18     namespace mithep
19     {
20 loizides 1.3 class FakeRate;
21    
22 loizides 1.1 class GenFakesMod : public BaseMod
23     {
24     public:
25     GenFakesMod(const char *name="GenFakesMod",
26     const char *title="Fake Object Generation Module");
27    
28     const char *GetCleanElectronsName() const { return fCleanElectronsName; }
29     const char *GetCleanMuonsName() const { return fCleanMuonsName; }
30     const char *GetCleanPhotonsName() const { return fCleanPhotonsName; }
31     const char *GetCleanJetsName() const { return fCleanJetsName; }
32 phedex 1.2 const char *GetElFakeableObjsName() const { return fElFakeableObjsName; }
33     const char *GetMuFakeableObjsName() const { return fMuFakeableObjsName; }
34 loizides 1.1 const char *GetMCLeptonsName() const { return fMCLeptonsName; }
35     const char *GetMCTausName() const { return fMCTausName; }
36     const char *GetFakeEventHeadersName() const { return fFakeEventHeadersName; }
37     const char *GetOutputName() const { return GetFakeEventHeadersName(); }
38     const Bool_t GetUse2DFakeRate() const { return fUse2DFakeRate; }
39     const Bool_t GetUseFitFunction() const { return fUseFitFunction; }
40     void LoadFakeRate();
41 loizides 1.6 void SetCleanElectronsName(const char *name) { fCleanElectronsName = name; }
42     void SetCleanMuonssName(const char *name) { fCleanMuonsName = name; }
43     void SetCleanPhotonsName(const char *name) { fCleanPhotonsName = name; }
44     void SetCleanJetsName(const char *name) { fCleanJetsName = name; }
45     void SetElFakeableObjsName(const char *name) { fElFakeableObjsName = name; }
46     void SetMuFakeableObjsName(const char *name) { fMuFakeableObjsName = name; }
47     void SetMCLeptonsName(const char *name) { fMCLeptonsName = name; }
48     void SetMCTausName(const char *name) { fMCTausName = name; }
49     void SetFakeEventHeadersName(const char *name) { fFakeEventHeadersName = name; }
50     void SetOutputName(const char *name) { SetFakeEventHeadersName(name); }
51     void SetElectronFRFilename(const char *name) { fElectronFRFilename = name; }
52     void SetMuonFRFilename(const char *name) { fMuonFRFilename = name; }
53     void SetUse2DFakeRate(Bool_t b) { fUse2DFakeRate = b; }
54     void SetUseFitFunction(Bool_t b) { fUseFitFunction = b; }
55     void SetElectronFRFunctionName(const char *name) { fElectronFRFunctionName = name; }
56     void SetMuonFRFunctionName(const char *name) { fMuonFRFunctionName = name; }
57     void SetElectronFRHistName(const char *name) { fElectronFRHistName = name; }
58     void SetMuonFRHistName(const char *name) { fMuonFRHistName = name; }
59 loizides 1.1
60     protected:
61     void Process();
62    
63 loizides 1.6 FakeRate *fFakeRate; //!holds the fake probabilities
64 loizides 1.1 TString fElectronFRFilename; //file containing electron fake rate
65     TString fMuonFRFilename; //file containing muon fake rate
66     Bool_t fUse2DFakeRate; //whether to use fit function or not
67     Bool_t fUseFitFunction; //whether to use fit function or not
68     TString fElectronFRFunctionName; //fit function containing electron fake rate
69     TString fMuonFRFunctionName; //fit function containing muon fake rate
70     TString fElectronFRHistName; //hist containing electron fake rate
71     TString fMuonFRHistName; //hist containing muon fake rate
72     TString fCleanElectronsName; //name of clean electrons (input)
73     TString fCleanMuonsName; //name of clean muons (input)
74     TString fCleanPhotonsName; //name of clean photons (input)
75     TString fCleanJetsName; //name of clean jets (input)
76 phedex 1.5 TString fMCLeptonsName; //name of MC leptons (input)
77     TString fMCTausName; //name of MC taus (input)
78 phedex 1.2 TString fElFakeableObjsName; //name of electron fakeable objects (input)
79     TString fMuFakeableObjsName; //name of muon fakeable objects (input)
80 loizides 1.4 TString fFakeEventHeadersName; //name of FakeEventHeaders (output)
81 loizides 1.1
82 loizides 1.4 ClassDef(GenFakesMod, 1) // FakeEventHeader generation module
83 loizides 1.1 };
84     }
85     #endif