ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/MuonIDMod.h
Revision: 1.5
Committed: Wed Nov 26 10:55:32 2008 UTC (16 years, 5 months ago) by ceballos
Content type: text/plain
Branch: MAIN
Changes since 1.4: +27 -25 lines
Log Message:
new muon id

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 ceballos 1.5 // $Id: MuonIDMod.h,v 1.4 2008/11/11 21:22:58 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 ceballos 1.5 #include "MitPhysics/Utils/interface/MuonTools.h"
18 loizides 1.1
19     class TH1D;
20     class TH2D;
21    
22     namespace mithep
23     {
24     class MuonIDMod : public BaseMod
25     {
26     public:
27     MuonIDMod(const char *name="MuonIDMod",
28     const char *title="Example analysis module with all branches");
29     ~MuonIDMod() {}
30 ceballos 1.4 void SetPrintDebug(bool b) { fPrintDebug = b; }
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 ceballos 1.5 void SetMuonSlidingIso(bool b) { fMuonSlidingIso = b; }
40 ceballos 1.4 void SetCleanMuonsName(TString s) { fCleanMuonsName = s; }
41 loizides 1.1 protected:
42 ceballos 1.5 bool fPrintDebug; // flag for printing debug output
43     TString fMuonName; // name of muon collection
44     TString fCleanMuonsName ; // name of good muons collection
45     MuonCol *fMuons; // !Muon branch
46    
47     double fTrackIsolationCut; // Cut value for track isolation
48     double fCaloIsolationCut; // Cut value for calo isolation
49     double fCombIsolationCut; // Cut value for combined isolation
50     bool fTMOneStationLooseCut; // apply TMOneStationLooseCut?
51     bool fTMOneStationTightCut; // apply TMOneStationTightCut?
52     bool fTM2DCompatibilityLooseCut; // apply TM2DCompatibilityLooseCut?
53     bool fTM2DCompatibilityTightCut; // apply TM2DCompatibilityTightCut?
54     bool fMuonSlidingIso; // apply sliding iso?
55     double fMuonPtMin; // min Pt requirement
56    
57     int fNEventsProcessed; // Number of events processed
58    
59     MuonTools myMuonTools;
60    
61     void Begin();
62     void Process();
63     void SlaveBegin();
64     void SlaveTerminate();
65     void Terminate();
66 loizides 1.1
67    
68     ClassDef(MuonIDMod,1) // TAM example analysis module
69     };
70     }
71     #endif