ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/MuonIDMod.h
Revision: 1.4
Committed: Tue Nov 11 21:22:58 2008 UTC (16 years, 5 months ago) by ceballos
Content type: text/plain
Branch: MAIN
Changes since 1.3: +28 -18 lines
Log Message:
adding some plots, fixing details

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: MuonIDMod.h,v 1.3 2008/11/05 14:06:06 ceballos Exp $
3 //
4 // MuonIDMod
5 //
6 // This Module applies Muon ID criteria and exports a pointer to a collection
7 // of Good Muons according to some specified ID scheme
8 //
9 // Authors: S.Xie
10 //--------------------------------------------------------------------------------------------------
11
12 #ifndef MITANA_TREEMOD_MUONIDMOD_H
13 #define MITANA_TREEMOD_MUONIDMOD_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 MuonIDMod : public BaseMod
24 {
25 public:
26 MuonIDMod(const char *name="MuonIDMod",
27 const char *title="Example analysis module with all branches");
28 ~MuonIDMod() {}
29 void SetPrintDebug(bool b) { fPrintDebug = b; }
30 void SetMuonIDType(TString type) { fMuonIDType = type;}
31 void SetTrackIsolationCut(Double_t cut) { fTrackIsolationCut = cut; }
32 void SetCaloIsolationCut(Double_t cut) { fCaloIsolationCut = cut; }
33 void SetCombIsolationCut(Double_t cut) { fCombIsolationCut = cut; }
34 void SetMuonPtMin(double p) { fMuonPtMin = p; }
35 void SetTMOneStationLooseCut(bool b) { fTMOneStationLooseCut = b; }
36 void SetTMOneStationTightCut(bool b) { fTMOneStationTightCut = b; }
37 void SetTM2DCompatibilityLooseCut(bool b) { fTM2DCompatibilityLooseCut = b; }
38 void SetTM2DCompatibilityTightCut(bool b) { fTM2DCompatibilityTightCut = b; }
39 void SetCleanMuonsName(TString s) { fCleanMuonsName = s; }
40 protected:
41 bool fPrintDebug; // flag for printing debug output
42 TString fMuonName; // name of muon collection
43 TString fCleanMuonsName ; // name of good muons collection
44 TString fMuonIDType; // Type of Muon ID we impose
45 TString fMuonIsoType; // Type of Muon Isolation we impose
46 MuonCol *fMuons; // !Muon branch
47
48 double fTrackIsolationCut; // Cut value for track isolation
49 double fCaloIsolationCut; // Cut value for calo isolation
50 double fCombIsolationCut; // Cut value for combined isolation
51 bool fTMOneStationLooseCut; // apply TMOneStationLooseCut?
52 bool fTMOneStationTightCut; // apply TMOneStationTightCut?
53 bool fTM2DCompatibilityLooseCut; // apply TM2DCompatibilityLooseCut?
54 bool fTM2DCompatibilityTightCut; // apply TM2DCompatibilityTightCut?
55 double fMuonPtMin; // min Pt requirement
56
57 int fNEventsProcessed; // Number of events processed
58
59 void Begin();
60 void Process();
61 void SlaveBegin();
62 void SlaveTerminate();
63 void Terminate();
64
65
66 ClassDef(MuonIDMod,1) // TAM example analysis module
67 };
68 }
69 #endif