ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/SelMods/interface/LeptonPlusIsolatedTrackSelMod.h
Revision: 1.1
Committed: Fri Mar 13 13:01:50 2009 UTC (16 years, 1 month ago) by sixie
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_008pre2
Log Message:
add lepton plus isolated track skim

File Contents

# User Rev Content
1 sixie 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id $
3     //
4     // LeptonPlusIsolatedTrackSelMod
5     //
6     // This module selects events containing one lepton and one isolated track
7     // Both gsfTracks and tracker tracks are considered.
8     //
9     // Authors: S. Xie
10     //--------------------------------------------------------------------------------------------------
11    
12     #ifndef MITPHYSICS_SELMODS_LEPTONPLUSISOLATEDTRACKSELMOD_H
13     #define MITPHYSICS_SELMODS_LEPTONPLUSISOLATEDTRACKSELMOD_H
14    
15     #include "MitAna/TreeMod/interface/BaseSelMod.h"
16     #include <TH1D.h>
17    
18     namespace mithep
19     {
20     class LeptonPlusIsolatedTrackSelMod : public BaseSelMod
21     {
22     public:
23     LeptonPlusIsolatedTrackSelMod(const char *name="LeptonPlusIsolatedTrackSelMod",
24     const char *title="Lepton plus isolated track selection module");
25     ~LeptonPlusIsolatedTrackSelMod() {}
26    
27     const char *GetLeptonColName() const { return fLeptonColName; }
28     const char *GetTrackerTrackColName() const { return fTrackerTrackColName; }
29     const char *GetGsfTrackColName() const { return fGsfTrackColName; }
30     Double_t GetLeptonEtaMin() const { return fLeptonEtaMin; }
31     Double_t GetLeptonEtaMax() const { return fLeptonEtaMax; }
32     Double_t GetLeptonPtMin() const { return fLeptonPtMin; }
33     Double_t GetLeptonPtMax() const { return fLeptonPtMax; }
34     Double_t GetTrackEtaMin() const { return fTrackEtaMin; }
35     Double_t GetTrackEtaMax() const { return fTrackEtaMax; }
36     Double_t GetTrackPtMin() const { return fTrackPtMin; }
37     Double_t GetTrackPtMax() const { return fTrackPtMax; }
38     void SetLeptonColName(const char *n) { fLeptonColName=n; }
39     void SetTrackerTrackColName(const char *n) { fTrackerTrackColName=n; }
40     void SetGsfTrackColName(const char *n) { fGsfTrackColName=n; }
41     void SetLeptonEtaMin(Double_t e) { fLeptonEtaMin = e; }
42     void SetLeptonEtaMax(Double_t e) { fLeptonEtaMax = e; }
43     void SetLeptonPtMin(Double_t pt) { fLeptonPtMin = pt; }
44     void SetLeptonPtMax(Double_t pt) { fLeptonPtMax = pt; }
45     void SetTrackEtaMin(Double_t e) { fTrackEtaMin = e; }
46     void SetTrackEtaMax(Double_t e) { fTrackEtaMax = e; }
47     void SetTrackPtMin(Double_t pt) { fTrackPtMin = pt; }
48     void SetTrackPtMax(Double_t pt) { fTrackPtMax = pt; }
49    
50     protected:
51     void Process();
52     void SlaveBegin();
53    
54     TString fLeptonColName; //name of input lepton collection
55     TString fTrackerTrackColName; //name of input lepton collection
56     TString fGsfTrackColName; //name of input lepton collection
57     Double_t fLeptonPtMin; //minimum pt required (def = 0 GeV)
58     Double_t fLeptonPtMax; //maximum pt required (def = 5000 GeV)
59     Double_t fLeptonEtaMin; //minimum eta required (def = -10)
60     Double_t fLeptonEtaMax; //maximum eta required (def = +10)
61     Double_t fTrackPtMin; //minimum pt required (def = 0 GeV)
62     Double_t fTrackPtMax; //maximum pt required (def = 5000 GeV)
63     Double_t fTrackEtaMin; //minimum eta required (def = -10)
64     Double_t fTrackEtaMax; //maximum eta required (def = +10)
65     const ParticleCol *fLeptonCol; //!pointer to collection
66     const TrackCol *fTrackerTrackCol; //!pointer to collection
67     const TrackCol *fGsfTrackCol; //!pointer to collection
68     TH1D *fNAccCounters; //!acceptance histogram
69    
70     ClassDef(LeptonPlusIsolatedTrackSelMod,1) // Generic selection module
71     };
72     }
73     #endif