CMS 3D CMS Logo

CaloExtractorByAssociator.h
Go to the documentation of this file.
1 #ifndef MuonIsolation_CaloExtractorByAssociator_H
2 #define MuonIsolation_CaloExtractorByAssociator_H
3 
14 #include <string>
15 
17 
19 
23 
25 
27 
30 class MuonServiceProxy;
31 
32 namespace muonisolation {
33 
35 
36  public:
37 
41 
43  ~CaloExtractorByAssociator() override;
44 
46  void fillVetos (const edm::Event & ev, const edm::EventSetup & evSetup, const reco::TrackCollection & tracks) override;
49  deposit(const edm::Event & ev, const edm::EventSetup & evSetup, const reco::Track & track) const override;
51  std::vector<reco::IsoDeposit>
52  deposits(const edm::Event & ev, const edm::EventSetup & evSetup, const reco::Track & track) const override;
53 
54  private:
55 
58 
61 
63  std::vector<std::string> theDepositInstanceLabels;
64 
67 
73 
75  double theDR_Veto_E;
76  double theDR_Veto_H;
77  double theDR_Veto_HO;
82  double theDR_Max;
83 
86  double theNoise_EB;
87  double theNoise_EE;
88  double theNoise_HB;
89  double theNoise_HE;
90  double theNoise_HO;
93 
95  std::vector<DetId> theVetoCollection;
96 
99 
100 
104 
107 
109  double noiseEcal(const CaloTower& tower) const;
110  double noiseHcal(const CaloTower& tower) const;
111  double noiseHOcal(const CaloTower& tower) const;
112  double noiseRecHit(const DetId& detId) const;
113 
114  };
115 
116 }
117 
118 #endif
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 "" (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:15
double noiseHOcal(const CaloTower &tower) const
std::vector< std::string > theDepositInstanceLabels
multiple deposits: labels – expect 3 labels beginning with "e", "h", "ho"
double noiseHcal(const CaloTower &tower) const
bool ev
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)
reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &track) const override
no-op: by design of this extractor the deposits are pulled out all at a time
std::vector< reco::IsoDeposit > deposits(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &track) const override
return deposits for 3 calorimeter subdetectors (ecal, hcal, ho) – in this order
double noiseRecHit(const DetId &detId) const
Definition: DetId.h:18
MuonServiceProxy * theService
the event setup proxy, it takes care the services update
void fillVetos(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackCollection &tracks) override
allows to set extra vetoes (in addition to the muon) – no-op at this point
bool thePrintTimeReport
flag to turn on/off printing of a time report