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  public:
24 
25  ~CaloExtractor() override {}
26 
27  void fillVetos(const edm::Event& ev, const edm::EventSetup& evSetup, const reco::TrackCollection& tracks) override;
29  const edm::EventSetup& evSetup,
30  const reco::Track& track) const override;
31 
34  const reco::Track& muon, const double bz, const GlobalPoint& endpos, bool fixVxy = false, bool fixVz = false);
35 
36  private:
37  // CaloTower Collection Label
39 
40  // Label of deposit
42 
43  // Cone cuts and thresholds
44  double theWeight_E;
45  double theWeight_H;
48  double theDR_Veto_E;
49  double theDR_Veto_H;
50  double theDR_Max;
53 
54  // Vector of calo Ids to veto
55  std::vector<DetId> theVetoCollection;
56 
57  // Determine noise for HCAL and ECAL (take some defaults for the time being)
58  double noiseEcal(const CaloTower& tower) const;
59  double noiseHcal(const CaloTower& tower) const;
60  };
61 
62 } // namespace muonisolation
63 
64 #endif
reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &track) const override
edm::EDGetTokenT< CaloTowerCollection > theCaloTowerCollectionToken
Definition: CaloExtractor.h:38
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.
void fillVetos(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackCollection &tracks) override
std::vector< DetId > theVetoCollection
Definition: CaloExtractor.h:55