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

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 ceballos 1.4 // $Id: MuonIDMod.h,v 1.3 2008/11/05 14:06:06 ceballos Exp $
3 loizides 1.1 //
4     // MuonIDMod
5     //
6 ceballos 1.3 // This Module applies Muon ID criteria and exports a pointer to a collection
7     // of Good Muons according to some specified ID scheme
8 loizides 1.1 //
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 ceballos 1.4 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 loizides 1.1 protected:
41 ceballos 1.4 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 ceballos 1.3
57 ceballos 1.4 int fNEventsProcessed; // Number of events processed
58 ceballos 1.3
59     void Begin();
60     void Process();
61     void SlaveBegin();
62     void SlaveTerminate();
63     void Terminate();
64 loizides 1.1
65    
66     ClassDef(MuonIDMod,1) // TAM example analysis module
67     };
68     }
69     #endif