ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/PhotonIDMod.h
Revision: 1.4
Committed: Thu Dec 4 13:53:33 2008 UTC (16 years, 5 months ago) by loizides
Content type: text/plain
Branch: MAIN
Changes since 1.3: +18 -18 lines
Log Message:
Updated to use const ptr to col

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: PhotonIDMod.h,v 1.3 2008/12/03 10:19:13 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 void SetHadOverEmMax(Double_t hovere) { fHadOverEmMax = hovere; }
33 void SetPhotonPtMin(Bool_t b) { fApplyPixelSeed = b; }
34
35
36 enum EPhIdType {
37 kIdUndef = 0, //not defined
38 kTight, //"Tight"
39 kLoose, //"Loose"
40 kLooseEM, //"LooseEM"
41 kCustomId //"Custom"
42 };
43 enum EPhIsoType {
44 kIsoUndef = 0, //not defined
45 kNoIso, //"NoIso"
46 kCombinedIso, //"CombinedIso"
47 kCustomIso //"Custom"
48 };
49
50 protected:
51 TString fPhotonBranchName; //branch name of electron collection
52 TString fGoodPhotonsName; //name of exported "good electrons" collection
53 TString fPhotonIDType; //type of electron ID we impose
54 TString fPhotonIsoType; //type of electron Isolation we impose
55 Double_t fPhotonPtMin; //min pt cut
56 Double_t fHadOverEmMax; //!maximum of hadronic/em energy
57 Bool_t fApplyPixelSeed; //!=true then apply PixelSeed
58 const PhotonCol *fPhotons; //!photon branch
59 EPhIdType fPhIdType; //!identification scheme
60 EPhIsoType fPhIsoType; //!isolation scheme
61
62 void Process();
63 void SlaveBegin();
64
65 ClassDef(PhotonIDMod,1) // Photon identification module
66 };
67 }
68 #endif