CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CaloExtractorByAssociator.h
Go to the documentation of this file.
1 #ifndef MuonIsolation_CaloExtractorByAssociator_H
2 #define MuonIsolation_CaloExtractorByAssociator_H
3 
17 #include <string>
18 
20 
24 
25 
27 
29 
32 class MuonServiceProxy;
33 
34 namespace muonisolation {
35 
37 
38  public:
39 
43 
46 
48  virtual void fillVetos (const edm::Event & ev, const edm::EventSetup & evSetup, const reco::TrackCollection & tracks);
50  virtual reco::IsoDeposit
51  deposit(const edm::Event & ev, const edm::EventSetup & evSetup, const reco::Track & track) const;
53  virtual std::vector<reco::IsoDeposit>
54  deposits(const edm::Event & ev, const edm::EventSetup & evSetup, const reco::Track & track) const;
55 
56  private:
57 
60 
62  std::string theDepositLabel;
63 
65  std::vector<std::string> theDepositInstanceLabels;
66 
68  std::string thePropagatorName;
69 
75 
77  double theDR_Veto_E;
78  double theDR_Veto_H;
79  double theDR_Veto_HO;
84  double theDR_Max;
85 
88  double theNoise_EB;
89  double theNoise_EE;
90  double theNoise_HB;
91  double theNoise_HE;
92  double theNoise_HO;
95 
97  std::vector<DetId> theVetoCollection;
98 
101 
102 
106 
109 
111  double noiseEcal(const CaloTower& tower) const;
112  double noiseHcal(const CaloTower& tower) const;
113  double noiseHOcal(const CaloTower& tower) const;
114  double noiseRecHit(const DetId& detId) const;
115 
116  };
117 
118 }
119 
120 #endif
virtual void fillVetos(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackCollection &tracks)
allows to set extra vetoes (in addition to the muon) – no-op at this point
virtual std::vector< reco::IsoDeposit > deposits(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &track) const
return deposits for 3 calorimeter subdetectors (ecal, hcal, ho) – in this order
std::string thePropagatorName
propagator name to feed into the track associator
std::vector< DetId > theVetoCollection
Vector of calo Ids to veto – not used.
std::string theDepositLabel
Label of deposit – suggest to set to &quot;&quot; (all info is in collection name anyways)
double theDR_Max
max cone size in which towers are considered
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:10
double noiseHOcal(const CaloTower &tower) const
std::vector< std::string > theDepositInstanceLabels
multiple deposits: labels – expect 3 labels beginning with &quot;e&quot;, &quot;h&quot;, &quot;ho&quot;
double noiseHcal(const CaloTower &tower) const
double theDR_Veto_E
cone sizes inside which the Et (towers) are not counted
TrackAssociatorParameters * theAssociatorParameters
associator, its&#39; parameters and the propagator
double noiseEcal(const CaloTower &tower) const
Determine noise for HCAL and ECAL (take some defaults for the time being)
double noiseRecHit(const DetId &detId) const
Definition: DetId.h:20
tuple tracks
Definition: testEve_cfg.py:39
MuonServiceProxy * theService
the event setup proxy, it takes care the services update
virtual reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &track) const
no-op: by design of this extractor the deposits are pulled out all at a time
bool thePrintTimeReport
flag to turn on/off printing of a time report