31 using namespace isodeposit;
39 void endJob()
override;
46 unsigned long selGlobal_, selSA_, totGlobal_,
totSA_;
54 dRVeto(cfg.getParameter<double>(
"veto")),
55 dRTrk(cfg.getParameter<double>(
"deltaRTrk")),
56 dREcal(cfg.getParameter<double>(
"deltaREcal")),
57 dRHcal(cfg.getParameter<double>(
"deltaRHcal")),
58 ptThreshold(cfg.getParameter<double>(
"ptThreshold")),
59 etEcalThreshold(cfg.getParameter<double>(
"etEcalThreshold")),
60 etHcalThreshold(cfg.getParameter<double>(
"etHcalThreshold")),
61 alpha(cfg.getParameter<double>(
"alpha")),
62 beta(cfg.getParameter<double>(
"beta")),
63 isoCut_(cfg.getParameter<double>(
"isoCut")),
64 selGlobal_(0), selSA_(0), totGlobal_(0), totSA_(0) {
72 vetoEcal.push_back(
new ConeVeto(dir, 0.));
74 vetoHcal.push_back(
new ConeVeto(dir, 0.));
80 double iso =
alpha*((0.5*(1+
beta)*ecalIso) + (0.5*(1-
beta)*hcalIso)) + (1-
alpha)*trkIso;
108 for(
unsigned int i=0;
i< dimuons->
size(); ++
i) {
116 cout <<
"Isolation efficiency report:" << endl;
123 cout <<
"St.Al.: " <<
selSA_ <<
"/" <<
totSA_ <<
" = " << eff <<
"+/-" << err << endl;
double eta() const final
momentum pseudorapidity
EDGetTokenT< CandidateView > srcToken_
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
void analyze(const edm::Event &event, const edm::EventSetup &setup) override
stand alone muon component tag
def setup(process, global_tag, zero_tesla=False)
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
example_stream void analyze(const edm::Event &, const edm::EventSetup &) override
double sumWithin(double coneSize, const AbsVetos &vetos=AbsVetos(), bool skipDepositVeto=false) const
#define DEFINE_FWK_MODULE(type)
ZGlobalVsSAIsolationAnalyzer(const edm::ParameterSet &cfg)
virtual const CandidateBaseRef & masterClone() const =0
XYZVectorD XYZVector
spatial vector with cartesian internal representation
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
void evaluate(const reco::Candidate *dau)
T get() const
get a component
std::vector< AbsVeto * > AbsVetos
bool isolated(const Direction &dir, const pat::IsoDeposit *trkIsoDep, const pat::IsoDeposit *ecalIsoDep, const pat::IsoDeposit *hcalIsoDep)
double phi() const final
momentum azimuthal angle
Analysis-level muon class.