CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
L3MuonCombinedRelativeIsolationProducer Class Reference

#include <L3MuonCombinedRelativeIsolationProducer.h>

Inheritance diagram for L3MuonCombinedRelativeIsolationProducer:
edm::stream::EDProducer<>

Public Member Functions

 L3MuonCombinedRelativeIsolationProducer (const edm::ParameterSet &)
 constructor with config More...
 
void produce (edm::Event &, const edm::EventSetup &) override
 Produce isolation maps. More...
 
 ~L3MuonCombinedRelativeIsolationProducer () override
 destructor More...
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 ParameterSet descriptions. More...
 

Private Attributes

std::unique_ptr
< reco::isodeposit::IsoDepositExtractor
caloExtractor
 
bool optOutputIsoDeposits
 
bool printDebug
 
bool theApplyCutsORmaxNTracks
 apply or not the maxN cut on top of the sumPt (or nominall eff) < cuts More...
 
edm::InputTag theCaloDepsLabel
 
edm::EDGetTokenT
< edm::ValueMap< float > > 
theCaloDepsToken
 
edm::ParameterSet theConfig
 
muonisolation::Cuts theCuts
 
int theMaxNTracks
 
edm::InputTag theMuonCollectionLabel
 
edm::EDGetTokenT
< reco::RecoChargedCandidateCollection
theMuonCollectionToken
 
double theTrackPt_Min
 
std::unique_ptr
< reco::isodeposit::IsoDepositExtractor
trkExtractor
 
bool useCaloIso
 flag to include or exclude calo iso from calculation More...
 
bool useRhoCorrectedCaloDeps
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
using CacheTypes = CacheContexts< T...>
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T...>
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 

Detailed Description

Definition at line 26 of file L3MuonCombinedRelativeIsolationProducer.h.

Constructor & Destructor Documentation

L3MuonCombinedRelativeIsolationProducer::L3MuonCombinedRelativeIsolationProducer ( const edm::ParameterSet par)

constructor with config

test cutsName only. The depositType is informational only (has not been used so far) [VK]

Definition at line 38 of file L3MuonCombinedRelativeIsolationProducer.cc.

References caloExtractor, L3NominalEfficiencyConfigurator::cuts(), get, edm::ParameterSet::getParameter(), LogDebug, LogTrace, optOutputIsoDeposits, muonisolation::Cuts::print(), AlCaHLTBitMon_QueryRunRegistry::string, theApplyCutsORmaxNTracks, theCaloDepsLabel, theCaloDepsToken, theConfig, theCuts, theMaxNTracks, theMuonCollectionLabel, theMuonCollectionToken, theTrackPt_Min, trkExtractor, useCaloIso, and useRhoCorrectedCaloDeps.

39  : theConfig(par),
40  theMuonCollectionLabel(par.getParameter<InputTag>("inputMuonCollection")),
41  optOutputIsoDeposits(par.getParameter<bool>("OutputMuIsoDeposits")),
42  useCaloIso(par.existsAs<bool>("UseCaloIso") ? par.getParameter<bool>("UseCaloIso") : true),
43  useRhoCorrectedCaloDeps(par.existsAs<bool>("UseRhoCorrectedCaloDeposits")
44  ? par.getParameter<bool>("UseRhoCorrectedCaloDeposits")
45  : false),
46  theCaloDepsLabel(par.existsAs<InputTag>("CaloDepositsLabel") ? par.getParameter<InputTag>("CaloDepositsLabel")
47  : InputTag("hltL3CaloMuonCorrectedIsolations")),
48  theTrackPt_Min(-1),
49  printDebug(par.getParameter<bool>("printDebug")) {
50  LogDebug("RecoMuon|L3MuonCombinedRelativeIsolationProducer") << " L3MuonCombinedRelativeIsolationProducer CTOR";
51 
52  theMuonCollectionToken = consumes<RecoChargedCandidateCollection>(theMuonCollectionLabel);
53  theCaloDepsToken = consumes<edm::ValueMap<float>>(theCaloDepsLabel);
54 
56  produces<reco::IsoDepositMap>("trkIsoDeposits");
57  if (useRhoCorrectedCaloDeps == false) // otherwise, calo deposits have been previously computed
58  produces<reco::IsoDepositMap>("caloIsoDeposits");
59  //produces<std::vector<double> >("combinedRelativeIsoDeposits");
60  produces<edm::ValueMap<double>>("combinedRelativeIsoDeposits");
61  }
62  produces<edm::ValueMap<bool>>();
63 
64  //
65  // Extractor
66  //
67  // Calorimeters (ONLY if not previously computed)
68  //
69  if (useCaloIso && (useRhoCorrectedCaloDeps == false)) {
70  edm::ParameterSet caloExtractorPSet = theConfig.getParameter<edm::ParameterSet>("CaloExtractorPSet");
71 
72  std::string caloExtractorName = caloExtractorPSet.getParameter<std::string>("ComponentName");
73  caloExtractor = std::unique_ptr<reco::isodeposit::IsoDepositExtractor>{
74  IsoDepositExtractorFactory::get()->create(caloExtractorName, caloExtractorPSet, consumesCollector())};
75  //std::string caloDepositType = caloExtractorPSet.getUntrackedParameter<std::string>("DepositLabel"); // N.B. Not used in the following!
76  }
77 
78  // Tracker
79  //
80  edm::ParameterSet trkExtractorPSet = theConfig.getParameter<edm::ParameterSet>("TrkExtractorPSet");
81 
82  theTrackPt_Min = theConfig.getParameter<double>("TrackPt_Min");
83  std::string trkExtractorName = trkExtractorPSet.getParameter<std::string>("ComponentName");
84  trkExtractor = std::unique_ptr<reco::isodeposit::IsoDepositExtractor>{
85  IsoDepositExtractorFactory::get()->create(trkExtractorName, trkExtractorPSet, consumesCollector())};
86  //std::string trkDepositType = trkExtractorPSet.getUntrackedParameter<std::string>("DepositLabel"); // N.B. Not used in the following!
87 
88  //
89  // Cuts for track isolation
90  //
92  std::string cutsName = cutsPSet.getParameter<std::string>("ComponentName");
93  if (cutsName == "SimpleCuts") {
94  theCuts = Cuts(cutsPSet);
95  } else if (
96  // (cutsName== "L3NominalEfficiencyCuts_PXLS" && depositType=="PXLS")
97  // || (cutsName== "L3NominalEfficiencyCuts_TRKS" && depositType=="TRKS")
99  (cutsName == "L3NominalEfficiencyCuts_PXLS") || (cutsName == "L3NominalEfficiencyCuts_TRKS")) {
101  } else {
102  LogError("L3MuonCombinedRelativeIsolationProducer::beginJob") << "cutsName: " << cutsPSet << " is not recognized:"
103  << " theCuts not set!";
104  }
105  LogTrace("") << theCuts.print();
106 
107  // (kludge) additional cut on the number of tracks
108  theMaxNTracks = cutsPSet.getParameter<int>("maxNTracks");
109  theApplyCutsORmaxNTracks = cutsPSet.getParameter<bool>("applyCutsORmaxNTracks");
110 }
edm::EDGetTokenT< reco::RecoChargedCandidateCollection > theMuonCollectionToken
bool existsAs(std::string const &parameterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition: ParameterSet.h:171
edm::EDGetTokenT< edm::ValueMap< float > > theCaloDepsToken
bool theApplyCutsORmaxNTracks
apply or not the maxN cut on top of the sumPt (or nominall eff) &lt; cuts
std::unique_ptr< reco::isodeposit::IsoDepositExtractor > trkExtractor
Log< level::Error, false > LogError
#define LogTrace(id)
std::string print() const
Definition: Cuts.cc:54
std::unique_ptr< reco::isodeposit::IsoDepositExtractor > caloExtractor
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
bool useCaloIso
flag to include or exclude calo iso from calculation
#define get
#define LogDebug(id)
L3MuonCombinedRelativeIsolationProducer::~L3MuonCombinedRelativeIsolationProducer ( )
override

destructor

Definition at line 113 of file L3MuonCombinedRelativeIsolationProducer.cc.

References LogDebug.

113  {
114  LogDebug("RecoMuon|L3MuonCombinedRelativeIsolationProducer") << " L3MuonCombinedRelativeIsolationProducer DTOR";
115 }
#define LogDebug(id)

Member Function Documentation

void L3MuonCombinedRelativeIsolationProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

ParameterSet descriptions.

Definition at line 118 of file L3MuonCombinedRelativeIsolationProducer.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

118  {
120  desc.add<bool>("UseRhoCorrectedCaloDeposits", false);
121  desc.add<bool>("UseCaloIso", true);
122  desc.add<edm::InputTag>("CaloDepositsLabel", edm::InputTag("hltL3CaloMuonCorrectedIsolations"));
123  desc.add<edm::InputTag>("inputMuonCollection", edm::InputTag("hltL3MuonCandidates"));
124  desc.add<bool>("OutputMuIsoDeposits", true);
125  desc.add<double>("TrackPt_Min", -1.0);
126  desc.add<bool>("printDebug", false);
128  {
129  cutsPSet.add<std::vector<double>>("ConeSizes", std::vector<double>(1, 0.24));
130  cutsPSet.add<std::string>("ComponentName", "SimpleCuts");
131  cutsPSet.add<std::vector<double>>("Thresholds", std::vector<double>(1, 0.1));
132  cutsPSet.add<int>("maxNTracks", -1);
133  cutsPSet.add<std::vector<double>>("EtaBounds", std::vector<double>(1, 2.411));
134  cutsPSet.add<bool>("applyCutsORmaxNTracks", false);
135  }
136  desc.add<edm::ParameterSetDescription>("CutsPSet", cutsPSet);
137  edm::ParameterSetDescription trkExtractorPSet;
138  {
139  trkExtractorPSet.add<double>("Chi2Prob_Min", -1.0);
140  trkExtractorPSet.add<double>("Chi2Ndof_Max", 1.0E64);
141  trkExtractorPSet.add<double>("Diff_z", 0.2);
142  trkExtractorPSet.add<edm::InputTag>("inputTrackCollection", edm::InputTag("hltPixelTracks"));
143  trkExtractorPSet.add<double>("ReferenceRadius", 6.0);
144  trkExtractorPSet.add<edm::InputTag>("BeamSpotLabel", edm::InputTag("hltOnlineBeamSpot"));
145  trkExtractorPSet.add<std::string>("ComponentName", "PixelTrackExtractor");
146  trkExtractorPSet.add<double>("DR_Max", 0.24);
147  trkExtractorPSet.add<double>("Diff_r", 0.1);
148  trkExtractorPSet.add<bool>("VetoLeadingTrack", true);
149  trkExtractorPSet.add<double>("DR_VetoPt", 0.025);
150  trkExtractorPSet.add<double>("DR_Veto", 0.01);
151  trkExtractorPSet.add<unsigned int>("NHits_Min", 0);
152  trkExtractorPSet.add<double>("Pt_Min", -1.0);
153  trkExtractorPSet.addUntracked<std::string>("DepositLabel", "PXLS");
154  trkExtractorPSet.add<std::string>("BeamlineOption", "BeamSpotFromEvent");
155  trkExtractorPSet.add<bool>("PropagateTracksToRadius", true);
156  trkExtractorPSet.add<double>("PtVeto_Min", 2.0);
157  }
158  desc.add<edm::ParameterSetDescription>("TrkExtractorPSet", trkExtractorPSet);
159  edm::ParameterSetDescription caloExtractorPSet;
160  {
161  caloExtractorPSet.add<double>("DR_Veto_H", 0.1);
162  caloExtractorPSet.add<bool>("Vertex_Constraint_Z", false);
163  caloExtractorPSet.add<double>("Threshold_H", 0.5);
164  caloExtractorPSet.add<std::string>("ComponentName", "CaloExtractor");
165  caloExtractorPSet.add<double>("Threshold_E", 0.2);
166  caloExtractorPSet.add<double>("DR_Max", 0.24);
167  caloExtractorPSet.add<double>("DR_Veto_E", 0.07);
168  caloExtractorPSet.add<double>("Weight_E", 1.5);
169  caloExtractorPSet.add<bool>("Vertex_Constraint_XY", false);
170  caloExtractorPSet.addUntracked<std::string>("DepositLabel", "EcalPlusHcal");
171  caloExtractorPSet.add<edm::InputTag>("CaloTowerCollectionLabel", edm::InputTag("hltTowerMakerForMuons"));
172  caloExtractorPSet.add<double>("Weight_H", 1.0);
173  }
174  desc.add<edm::ParameterSetDescription>("CaloExtractorPSet", caloExtractorPSet);
175  descriptions.add("hltL3MuonIsolations", desc);
176 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void L3MuonCombinedRelativeIsolationProducer::produce ( edm::Event event,
const edm::EventSetup eventSetup 
)
override

Produce isolation maps.

Definition at line 178 of file L3MuonCombinedRelativeIsolationProducer.cc.

References caloExtractor, submitPVResolutionJobs::count, gather_cfg::cout, GOODCOLL_filter_cfg::cut, reco::IsoDeposit::depositAndCountWithin(), reco::IsoDeposit::depositWithin(), edm::helper::Filler< Map >::fill(), mps_fire::i, edm::helper::Filler< Map >::insert(), metname, eostools::move(), RPCpg::mu, patZpeak::muons, optOutputIsoDeposits, reco::IsoDeposit::print(), printDebug, mps_fire::result, AlCaHLTBitMon_QueryRunRegistry::string, theApplyCutsORmaxNTracks, theCaloDepsToken, theCuts, theMaxNTracks, theMuonCollectionLabel, theMuonCollectionToken, theTrackPt_Min, trkExtractor, useCaloIso, and useRhoCorrectedCaloDeps.

178  {
179  std::string metname = "RecoMuon|L3MuonCombinedRelativeIsolationProducer";
180 
181  if (printDebug)
182  std::cout << " L3 Muon Isolation producing..."
183  << " BEGINING OF EVENT "
184  << "================================" << std::endl;
185 
186  // Take the SA container
187  if (printDebug)
188  std::cout << " Taking the muons: " << theMuonCollectionLabel << std::endl;
190  event.getByToken(theMuonCollectionToken, muons);
191 
192  // Take calo deposits with rho corrections (ONLY if previously computed)
193  Handle<edm::ValueMap<float>> caloDepWithCorrMap;
195  event.getByToken(theCaloDepsToken, caloDepWithCorrMap);
196 
197  auto caloDepMap = std::make_unique<reco::IsoDepositMap>();
198  auto trkDepMap = std::make_unique<reco::IsoDepositMap>();
199 
200  auto comboIsoDepMap = std::make_unique<edm::ValueMap<bool>>();
201 
202  //auto combinedRelativeDeps = std::make_unique<std::vector<double>>();
203  auto combinedRelativeDepMap = std::make_unique<edm::ValueMap<double>>();
204 
205  //
206  // get Vetos and deposits
207  //
208  unsigned int nMuons = muons->size();
209 
210  IsoDeposit::Vetos trkVetos(nMuons);
211  std::vector<IsoDeposit> trkDeps(nMuons);
212 
213  // IsoDeposit::Vetos caloVetos(nMuons);
214  // std::vector<IsoDeposit> caloDeps(nMuons);
215  // std::vector<float> caloCorrDeps(nMuons, 0.); // if calo deposits with corrections available
216 
217  IsoDeposit::Vetos caloVetos;
218  std::vector<IsoDeposit> caloDeps;
219  std::vector<float> caloCorrDeps; // if calo deposits with corrections available
220 
222  caloCorrDeps.resize(nMuons, 0.);
223  } else if (useCaloIso) {
224  caloVetos.resize(nMuons);
225  caloDeps.resize(nMuons);
226  }
227 
228  std::vector<double> combinedRelativeDeps(nMuons, 0.);
229  std::vector<bool> combinedRelativeIsos(nMuons, false);
230 
231  for (unsigned int i = 0; i < nMuons; i++) {
232  RecoChargedCandidateRef candref(muons, i);
233  TrackRef mu = candref->track();
234 
235  trkDeps[i] = trkExtractor->deposit(event, eventSetup, *mu);
236  trkVetos[i] = trkDeps[i].veto();
237 
239  caloCorrDeps[i] = (*caloDepWithCorrMap)[candref];
240  } else if (useCaloIso) {
241  caloDeps[i] = caloExtractor->deposit(event, eventSetup, *mu);
242  caloVetos[i] = caloDeps[i].veto();
243  }
244  }
245 
246  //
247  // add here additional vetos
248  //
249  //.....
250 
251  //
252  // actual cut step
253  //
254 
255  if (printDebug)
256  std::cout << "Looping over deposits...." << std::endl;
257  for (unsigned int iMu = 0; iMu < nMuons; ++iMu) {
258  if (printDebug)
259  std::cout << "Muon number = " << iMu << std::endl;
260  TrackRef mu = (*muons)[iMu].track();
261 
262  // cuts
263  const Cuts::CutSpec& cut = theCuts(mu->eta());
264 
265  if (printDebug)
266  std::cout << "CUTDEBUG: Muon eta = " << mu->eta() << std::endl
267  << "CUTDEBUG: Muon pt = " << mu->pt() << std::endl
268  << "CUTDEBUG: minEta = " << cut.etaRange.min() << std::endl
269  << "CUTDEBUG: maxEta = " << cut.etaRange.max() << std::endl
270  << "CUTDEBUG: consize = " << cut.conesize << std::endl
271  << "CUTDEBUG: thresho = " << cut.threshold << std::endl;
272 
273  const IsoDeposit& trkDeposit = trkDeps[iMu];
274  if (printDebug)
275  std::cout << trkDeposit.print();
276  std::pair<double, int> trkIsoSumAndCount = trkDeposit.depositAndCountWithin(cut.conesize, trkVetos, theTrackPt_Min);
277 
278  double caloIsoSum = 0.;
280  caloIsoSum = caloCorrDeps[iMu];
281  if (caloIsoSum < 0.)
282  caloIsoSum = 0.;
283  if (printDebug)
284  std::cout << "Rho-corrected calo deposit (min. 0) = " << caloIsoSum << std::endl;
285  } else if (useCaloIso) {
286  const IsoDeposit& caloDeposit = caloDeps[iMu];
287  if (printDebug)
288  std::cout << caloDeposit.print();
289  caloIsoSum = caloDeposit.depositWithin(cut.conesize, caloVetos);
290  }
291 
292  double trkIsoSum = trkIsoSumAndCount.first;
293  int count = trkIsoSumAndCount.second;
294 
295  double muPt = mu->pt();
296  if (muPt < 1.)
297  muPt = 1.;
298  double combinedRelativeDeposit = ((trkIsoSum + caloIsoSum) / muPt);
299  bool result = (combinedRelativeDeposit < cut.threshold);
301  result |= count <= theMaxNTracks;
302  if (printDebug)
303  std::cout << " trk dep in cone: " << trkIsoSum << " with count " << count << std::endl
304  << " calo dep in cone: " << caloIsoSum << std::endl
305  << " muPt: " << muPt << std::endl
306  << " relIso: " << combinedRelativeDeposit << std::endl
307  << " is isolated: " << result << std::endl;
308 
309  combinedRelativeIsos[iMu] = result;
310  //combinedRelativeDeps->push_back(combinedRelativeDeposit);
311  combinedRelativeDeps[iMu] = combinedRelativeDeposit;
312  }
313 
314  //
315  // store
316  //
317  if (optOutputIsoDeposits) {
318  reco::IsoDepositMap::Filler depFillerTrk(*trkDepMap);
319  depFillerTrk.insert(muons, trkDeps.begin(), trkDeps.end());
320  depFillerTrk.fill();
321  event.put(std::move(trkDepMap), "trkIsoDeposits");
322 
323  if (useCaloIso && (useRhoCorrectedCaloDeps == false)) {
324  reco::IsoDepositMap::Filler depFillerCalo(*caloDepMap);
325  depFillerCalo.insert(muons, caloDeps.begin(), caloDeps.end());
326  depFillerCalo.fill();
327  event.put(std::move(caloDepMap), "caloIsoDeposits");
328  }
329 
330  //event.put(std::move(combinedRelativeDeps, "combinedRelativeIsoDeposits");
331  edm::ValueMap<double>::Filler depFillerCombRel(*combinedRelativeDepMap);
332  depFillerCombRel.insert(muons, combinedRelativeDeps.begin(), combinedRelativeDeps.end());
333  depFillerCombRel.fill();
334  event.put(std::move(combinedRelativeDepMap), "combinedRelativeIsoDeposits");
335  }
336  edm::ValueMap<bool>::Filler isoFiller(*comboIsoDepMap);
337  isoFiller.insert(muons, combinedRelativeIsos.begin(), combinedRelativeIsos.end());
338  isoFiller.fill();
339  event.put(std::move(comboIsoDepMap));
340 
341  if (printDebug)
342  std::cout << " END OF EVENT "
343  << "================================";
344 }
edm::EDGetTokenT< reco::RecoChargedCandidateCollection > theMuonCollectionToken
edm::EDGetTokenT< edm::ValueMap< float > > theCaloDepsToken
const std::string metname
bool theApplyCutsORmaxNTracks
apply or not the maxN cut on top of the sumPt (or nominall eff) &lt; cuts
std::unique_ptr< reco::isodeposit::IsoDepositExtractor > trkExtractor
tuple result
Definition: mps_fire.py:311
double depositWithin(double coneSize, const Vetos &vetos=Vetos(), bool skipDepositVeto=false) const
Get deposit.
Definition: IsoDeposit.cc:29
def move
Definition: eostools.py:511
std::unique_ptr< reco::isodeposit::IsoDepositExtractor > caloExtractor
const int mu
Definition: Constants.h:22
bool useCaloIso
flag to include or exclude calo iso from calculation
tuple muons
Definition: patZpeak.py:39
std::pair< double, int > depositAndCountWithin(double coneSize, const Vetos &vetos=Vetos(), double threshold=-1e+36, bool skipDepositVeto=false) const
Get deposit.
Definition: IsoDeposit.cc:37
std::string print() const
Definition: IsoDeposit.cc:178
tuple cout
Definition: gather_cfg.py:144

Member Data Documentation

std::unique_ptr<reco::isodeposit::IsoDepositExtractor> L3MuonCombinedRelativeIsolationProducer::caloExtractor
private
bool L3MuonCombinedRelativeIsolationProducer::optOutputIsoDeposits
private
bool L3MuonCombinedRelativeIsolationProducer::printDebug
private

Definition at line 78 of file L3MuonCombinedRelativeIsolationProducer.h.

Referenced by produce().

bool L3MuonCombinedRelativeIsolationProducer::theApplyCutsORmaxNTracks
private

apply or not the maxN cut on top of the sumPt (or nominall eff) < cuts

Definition at line 74 of file L3MuonCombinedRelativeIsolationProducer.h.

Referenced by L3MuonCombinedRelativeIsolationProducer(), and produce().

edm::InputTag L3MuonCombinedRelativeIsolationProducer::theCaloDepsLabel
private
edm::EDGetTokenT<edm::ValueMap<float> > L3MuonCombinedRelativeIsolationProducer::theCaloDepsToken
private
edm::ParameterSet L3MuonCombinedRelativeIsolationProducer::theConfig
private
muonisolation::Cuts L3MuonCombinedRelativeIsolationProducer::theCuts
private
int L3MuonCombinedRelativeIsolationProducer::theMaxNTracks
private

max number of tracks to allow in the sum count <= maxN

Definition at line 71 of file L3MuonCombinedRelativeIsolationProducer.h.

Referenced by L3MuonCombinedRelativeIsolationProducer(), and produce().

edm::InputTag L3MuonCombinedRelativeIsolationProducer::theMuonCollectionLabel
private
edm::EDGetTokenT<reco::RecoChargedCandidateCollection> L3MuonCombinedRelativeIsolationProducer::theMuonCollectionToken
private
double L3MuonCombinedRelativeIsolationProducer::theTrackPt_Min
private

pt cut to consider track in sumPt after extracting iso deposit better split this off into a filter

Definition at line 67 of file L3MuonCombinedRelativeIsolationProducer.h.

Referenced by L3MuonCombinedRelativeIsolationProducer(), and produce().

std::unique_ptr<reco::isodeposit::IsoDepositExtractor> L3MuonCombinedRelativeIsolationProducer::trkExtractor
private
bool L3MuonCombinedRelativeIsolationProducer::useCaloIso
private

flag to include or exclude calo iso from calculation

Definition at line 54 of file L3MuonCombinedRelativeIsolationProducer.h.

Referenced by L3MuonCombinedRelativeIsolationProducer(), and produce().

bool L3MuonCombinedRelativeIsolationProducer::useRhoCorrectedCaloDeps
private