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

# Content
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