CMS 3D CMS Logo

CandIsolatorFromDeposits.h
Go to the documentation of this file.
1 #ifndef MuonIsolationProducers_CandIsolatorFromDeposits_H
2 #define MuonIsolationProducers_CandIsolatorFromDeposits_H
3 
7 
13 
17 
18 #include <string>
19 
20 namespace edm { class Event; }
21 namespace edm { class EventSetup; }
22 
24 
25 public:
27 
28  enum Mode { Sum, SumRelative, Sum2, Sum2Relative, Max, MaxRelative, Count, NearestDR,MeanDR,SumDR };
30 
31  ~CandIsolatorFromDeposits() override;
32 
33  void produce(edm::Event&, const edm::EventSetup&) override;
34 
35 private:
36  class SingleDeposit {
37  public:
39  void cleanup() ;
40  void open(const edm::Event &iEvent, const edm::EventSetup &iSetup) ;
41  double compute(const reco::CandidateBaseRef &cand) ;
42  const reco::IsoDepositMap & map() { return *hDeps_; }
43  private:
46  double deltaR_;
48  double weight_;
51  reco::isodeposit::EventDependentAbsVetos evdepVetos_; // note: these are a subset of the above. Don't delete twice!
54  };
55  // datamembers
56  std::vector<SingleDeposit> sources_;
57 
58 };
59 #endif
StringObjectFunction< reco::Candidate > weightExpr_
static void cleanup(const Factory::MakerMap::value_type &v)
Definition: Factory.cc:12
std::vector< SingleDeposit > sources_
edm::ValueMap< double > CandDoubleMap
edm::Handle< reco::IsoDepositMap > hDeps_
std::vector< EventDependentAbsVeto * > EventDependentAbsVetos
int iEvent
Definition: GenABIO.cc:230
edm::EDGetTokenT< reco::IsoDepositMap > srcToken_
T Max(T a, T b)
Definition: MathUtil.h:44
def compute(min, max)
HLT enums.
std::vector< AbsVeto * > AbsVetos
Definition: IsoDeposit.h:40
reco::isodeposit::EventDependentAbsVetos evdepVetos_