CMS 3D CMS Logo

CaloExtractor.h
Go to the documentation of this file.
1 #ifndef MuonIsolation_CaloExtractor_H
2 #define MuonIsolation_CaloExtractor_H
3 
4 #include <string>
5 
7 
9 
13 
15 
17 
18 namespace muonisolation {
19 
21 
22 public:
23 
26 
27  virtual ~CaloExtractor(){}
28 
29  virtual void fillVetos (const edm::Event & ev, const edm::EventSetup & evSetup, const reco::TrackCollection & tracks);
30  virtual reco::IsoDeposit deposit (const edm::Event & ev, const edm::EventSetup & evSetup, const reco::Track & track) const;
31 
33  static GlobalPoint MuonAtCaloPosition(const reco::Track& muon, const double bz, const GlobalPoint& endpos, bool fixVxy=false, bool fixVz=false);
34 
35 private:
36  // CaloTower Collection Label
38 
39  // Label of deposit
41 
42  // Cone cuts and thresholds
43  double theWeight_E;
44  double theWeight_H;
47  double theDR_Veto_E;
48  double theDR_Veto_H;
49  double theDR_Max;
52 
53  // Vector of calo Ids to veto
54  std::vector<DetId> theVetoCollection;
55 
56  // Determine noise for HCAL and ECAL (take some defaults for the time being)
57  double noiseEcal(const CaloTower& tower) const;
58  double noiseHcal(const CaloTower& tower) const;
59 };
60 
61 }
62 
63 #endif
virtual reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &track) const
virtual void fillVetos(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackCollection &tracks)
edm::EDGetTokenT< CaloTowerCollection > theCaloTowerCollectionToken
Definition: CaloExtractor.h:37
double noiseEcal(const CaloTower &tower) const
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
bool ev
double noiseHcal(const CaloTower &tower) const
static GlobalPoint MuonAtCaloPosition(const reco::Track &muon, const double bz, const GlobalPoint &endpos, bool fixVxy=false, bool fixVz=false)
Extrapolate muons to calorimeter-object positions.
std::vector< DetId > theVetoCollection
Definition: CaloExtractor.h:54