ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/PhotonIDMod.h
Revision: 1.1
Committed: Sat Nov 29 18:42:01 2008 UTC (16 years, 5 months ago) by sixie
Content type: text/plain
Branch: MAIN
Log Message:
Add Photon ID module

File Contents

# User Rev Content
1 sixie 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id: PhotonIDMod.h,v 1.5 2008/11/28 09:13:50 loizides Exp $
3     //
4     // PhotonIDMod
5     //
6     // This module applies photon identification criteria and exports a pointer to a collection
7     // of "good photons" according to the specified identification scheme.
8     //
9     // Authors: S.Xie, C.Loizides
10     //--------------------------------------------------------------------------------------------------
11    
12     #ifndef MITPHYSICS_MODS_PHOTONIDMOD_H
13     #define MITPHYSICS_MODS_PHOTONIDMOD_H
14    
15     #include "MitAna/TreeMod/interface/BaseMod.h"
16     #include "MitAna/DataTree/interface/Collections.h"
17    
18     namespace mithep
19     {
20     class PhotonIDMod : public BaseMod
21     {
22     public:
23     PhotonIDMod(const char *name="PhotonIDMod",
24     const char *title="Photon identification module");
25     ~PhotonIDMod() {}
26    
27     void SetPhotonBranchName(const char *n) { fPhotonBranchName = n; }
28     void SetGoodPhotonsName(const char *n) { fGoodPhotonsName = n; }
29     void SetPhotonIDType(const char *type) { fPhotonIDType = type; }
30     void SetPhotonIsoType(const char *type) { fPhotonIsoType = type; }
31     void SetPhotonPtMin(Double_t pt) { fPhotonPtMin = pt; }
32    
33    
34     enum EPhIdType {
35     kIdUndef = 0, //not defined
36     kTight, //"Tight"
37     kLoose, //"Loose"
38     kLooseEM, //"LooseEM"
39     kCustomId //"Custom"
40     };
41     enum EPhIsoType {
42     kIsoUndef = 0, //not defined
43     kNoIso, //"NoIso"
44     kCustomIso //"Custom"
45     };
46    
47     protected:
48     TString fPhotonBranchName; //branch name of electron collection
49     TString fGoodPhotonsName; //name of exported "good electrons" collection
50     TString fPhotonIDType; //type of electron ID we impose
51     TString fPhotonIsoType; //type of electron Isolation we impose
52     Double_t fPhotonPtMin; //min pt cut
53     PhotonCol *fPhotons; //!electron branch
54     EPhIdType fPhIdType; //!identification scheme
55     EPhIsoType fPhIsoType; //!isolation scheme
56    
57     void Process();
58     void SlaveBegin();
59    
60     ClassDef(PhotonIDMod,1) // Photon identification module
61     };
62     }
63     #endif