ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/ElectronIDMod.h
Revision: 1.1
Committed: Wed Oct 15 06:04:59 2008 UTC (16 years, 6 months ago) by loizides
Content type: text/plain
Branch: MAIN
Log Message:
Added MitPhysics.

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id: ElectronIDMod.h,v 1.1 2008/10/14 06:13:52 loizides Exp $
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 SetElectronPtMin(double p) { fElectronPtMin = p; }
31     void SetElectronIDType(TString type) { fElectronIDType = type; }
32     void SetElectronIsoType(TString type) { fElectronIsoType = type; }
33     void SetIDLikelihoodCut(Double_t cut) { fIDLikelihoodCut = cut; }
34     void SetTrackIsolationCut(Double_t cut) { fTrackIsolationCut = cut; }
35     void SetCaloIsolationCut(Double_t cut) { fCaloIsolationCut = cut; }
36     void SetEcalJurassicIsolationCut(Double_t cut) { fEcalJurassicIsolationCut = cut; }
37     void SetHcalJurassicIsolationCut(Double_t cut) { fHcalJurassicIsolationCut = cut; }
38     void SetGoodElectronsName(TString s) { fGoodElectronsName = s; }
39     protected:
40     bool fPrintDebug; //flag for printing debug output
41     TString fElectronName; //name of electron collection
42     TString fGoodElectronsName ; //name of good electrons collection
43     TString fElectronIDType; //Type of electron ID we impose
44     TString fElectronIsoType; //Type of electron Isolation we impose
45     ElectronCol *fElectrons; //!Electron branch
46     int fNEventsProcessed; // Number of events processed
47    
48     double fElectronPtMin; //min Pt requirement
49     double fIDLikelihoodCut; //Cut value for ID likelihood
50     double fTrackIsolationCut; //Cut value for track isolation
51     double fCaloIsolationCut; //Cut value for calo isolation
52     double fEcalJurassicIsolationCut; //Cut value for ecal jurassic isolation
53     double fHcalJurassicIsolationCut; //Cut value for hcal jurassic isolation
54    
55     void Begin();
56     void Process();
57     void SlaveBegin();
58     void SlaveTerminate();
59     void Terminate();
60    
61    
62     ClassDef(ElectronIDMod,1) // TAM example analysis module
63     };
64     }
65     #endif