ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/TreeMod/interface/ElectronIDMod.h
Revision: 1.1
Committed: Tue Sep 30 16:36:37 2008 UTC (16 years, 7 months ago) by sixie
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_004
Log Message:
Add Electron ID module

File Contents

# User Rev Content
1 sixie 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id: $
3     //
4     // ElectronIDMod
5     //
6     // This Module applies electron ID criteria and exports a pointer to a collection
7     // of Good Electrons according to some specified ID scheme
8     //
9     // Authors: S.Xie
10     //--------------------------------------------------------------------------------------------------
11    
12     #ifndef MITANA_TREEMOD_ELECTRONIDMOD_H
13     #define MITANA_TREEMOD_ELECTRONIDMOD_H
14    
15     #include "MitAna/TreeMod/interface/BaseMod.h"
16     #include "MitAna/DataTree/interface/Collections.h"
17    
18     class TH1D;
19     class TH2D;
20    
21     namespace mithep
22     {
23     class ElectronIDMod : public BaseMod
24     {
25     public:
26     ElectronIDMod(const char *name="ElectronIDMod",
27     const char *title="Example analysis module with all branches");
28     ~ElectronIDMod() {}
29     void SetPrintDebug(bool b) { fPrintDebug = b; }
30     void SetElectronIDType(TString type) { fElectronIDType = type; }
31     void SetIDLikelihoodCut(Double_t cut) { fIDLikelihoodCut = cut; }
32     void SetTrackIsolationCut(Double_t cut) { fTrackIsolationCut = cut; }
33     void SetCaloIsolationCut(Double_t cut) { fCaloIsolationCut = cut; }
34     void SetEcalJurassicIsolationCut(Double_t cut) { fEcalJurassicIsolationCut = cut; }
35     void SetHcalJurassicIsolationCut(Double_t cut) { fHcalJurassicIsolationCut = cut; }
36     void SetGoodElectronsName(TString s) { fGoodElectronsName = s; }
37     protected:
38     bool fPrintDebug; //flag for printing debug output
39     TString fElectronName; //name of electron collection
40     TString fGoodElectronsName ; //name of good electrons collection
41     TString fElectronIDType; //Type of electron ID we impose
42     TString fElectronIsoType; //Type of electron Isolation we impose
43     ElectronCol *fElectrons; //!Electron branch
44     int fNEventsProcessed; // Number of events processed
45    
46     double fIDLikelihoodCut; //Cut value for ID likelihood
47     double fTrackIsolationCut; //Cut value for track isolation
48     double fCaloIsolationCut; //Cut value for calo isolation
49     double fEcalJurassicIsolationCut; //Cut value for ecal jurassic isolation
50     double fHcalJurassicIsolationCut; //Cut value for hcal jurassic isolation
51    
52     void Begin();
53     void Process();
54     void SlaveBegin();
55     void SlaveTerminate();
56     void Terminate();
57    
58    
59     ClassDef(ElectronIDMod,1) // TAM example analysis module
60     };
61     }
62     #endif