CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
HBHEIsolatedNoiseReflagger Class Reference

#include <HBHEIsolatedNoiseReflagger.h>

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

Public Member Functions

 HBHEIsolatedNoiseReflagger (const edm::ParameterSet &)
 
 ~HBHEIsolatedNoiseReflagger () override
 
- 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
 

Private Member Functions

void DumpHBHEHitMap (std::vector< HBHEHitMap > &i) const
 
void produce (edm::Event &, const edm::EventSetup &) override
 

Private Attributes

edm::ESGetToken< CaloTowerConstituentsMap, CaloGeometryRecordctcmToken_
 
bool debug_
 
edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcdecalChStatusToken_
 
edm::ESGetToken< EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcdecalSevToken_
 
edm::ESGetToken< CaloGeometry, CaloGeometryRecordgeoToken_
 
edm::ESGetToken< HcalChannelQuality, HcalChannelQualityRcdhcalChStatusToken_
 
edm::ESGetToken< HcalSeverityLevelComputer, HcalSeverityLevelComputerRcdhcalSevToken_
 
const HcalFrontEndMaphfemap
 
edm::ESGetToken< HcalFrontEndMap, HcalFrontEndMapRcdhfemapToken_
 
double LooseDiHitEne_
 
double LooseEcalIsol_
 
double LooseHcalIsol_
 
double LooseHPDEne1_
 
double LooseHPDEne2_
 
int LooseHPDHits1_
 
int LooseHPDHits2_
 
double LooseMonoHitEne_
 
double LooseRBXEne1_
 
double LooseRBXEne2_
 
int LooseRBXHits1_
 
int LooseRBXHits2_
 
double LooseTrackIsol_
 
ObjectValidator objvalidator_
 
double RBXEneThreshold_
 
double TightDiHitEne_
 
double TightEcalIsol_
 
double TightHcalIsol_
 
double TightHPDEne1_
 
double TightHPDEne2_
 
int TightHPDHits1_
 
int TightHPDHits2_
 
double TightMonoHitEne_
 
double TightRBXEne1_
 
double TightRBXEne2_
 
int TightRBXHits1_
 
int TightRBXHits2_
 
double TightTrackIsol_
 
edm::EDGetTokenT< EcalRecHitCollectiontok_EB_
 
edm::EDGetTokenT< EcalRecHitCollectiontok_EE_
 
edm::EDGetTokenT< HBHERecHitCollectiontok_hbhe_
 
edm::EDGetTokenT< std::vector< reco::TrackExtrapolation > > tok_trackExt_
 

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 31 of file HBHEIsolatedNoiseReflagger.h.

Constructor & Destructor Documentation

◆ HBHEIsolatedNoiseReflagger()

HBHEIsolatedNoiseReflagger::HBHEIsolatedNoiseReflagger ( const edm::ParameterSet iConfig)
explicit

Definition at line 23 of file HBHEIsolatedNoiseReflagger.cc.

References ctcmToken_, ecalChStatusToken_, ecalSevToken_, deDxTools::esConsumes(), geoToken_, edm::ParameterSet::getParameter(), hcalChStatusToken_, hcalSevToken_, hfemapToken_, tok_EB_, tok_EE_, tok_hbhe_, and tok_trackExt_.

24  :
25 
26  LooseHcalIsol_(iConfig.getParameter<double>("LooseHcalIsol")),
27  LooseEcalIsol_(iConfig.getParameter<double>("LooseEcalIsol")),
28  LooseTrackIsol_(iConfig.getParameter<double>("LooseTrackIsol")),
29  TightHcalIsol_(iConfig.getParameter<double>("TightHcalIsol")),
30  TightEcalIsol_(iConfig.getParameter<double>("TightEcalIsol")),
31  TightTrackIsol_(iConfig.getParameter<double>("TightTrackIsol")),
32 
33  LooseRBXEne1_(iConfig.getParameter<double>("LooseRBXEne1")),
34  LooseRBXEne2_(iConfig.getParameter<double>("LooseRBXEne2")),
35  LooseRBXHits1_(iConfig.getParameter<int>("LooseRBXHits1")),
36  LooseRBXHits2_(iConfig.getParameter<int>("LooseRBXHits2")),
37  TightRBXEne1_(iConfig.getParameter<double>("TightRBXEne1")),
38  TightRBXEne2_(iConfig.getParameter<double>("TightRBXEne2")),
39  TightRBXHits1_(iConfig.getParameter<int>("TightRBXHits1")),
40  TightRBXHits2_(iConfig.getParameter<int>("TightRBXHits2")),
41 
42  LooseHPDEne1_(iConfig.getParameter<double>("LooseHPDEne1")),
43  LooseHPDEne2_(iConfig.getParameter<double>("LooseHPDEne2")),
44  LooseHPDHits1_(iConfig.getParameter<int>("LooseHPDHits1")),
45  LooseHPDHits2_(iConfig.getParameter<int>("LooseHPDHits2")),
46  TightHPDEne1_(iConfig.getParameter<double>("TightHPDEne1")),
47  TightHPDEne2_(iConfig.getParameter<double>("TightHPDEne2")),
48  TightHPDHits1_(iConfig.getParameter<int>("TightHPDHits1")),
49  TightHPDHits2_(iConfig.getParameter<int>("TightHPDHits2")),
50 
51  LooseDiHitEne_(iConfig.getParameter<double>("LooseDiHitEne")),
52  TightDiHitEne_(iConfig.getParameter<double>("TightDiHitEne")),
53  LooseMonoHitEne_(iConfig.getParameter<double>("LooseMonoHitEne")),
54  TightMonoHitEne_(iConfig.getParameter<double>("TightMonoHitEne")),
55 
56  RBXEneThreshold_(iConfig.getParameter<double>("RBXEneThreshold")),
57 
58  debug_(iConfig.getUntrackedParameter<bool>("debug", true)),
59  objvalidator_(iConfig) {
60  tok_hbhe_ = consumes<HBHERecHitCollection>(iConfig.getParameter<edm::InputTag>("hbheInput"));
61  tok_EB_ = consumes<EcalRecHitCollection>(iConfig.getParameter<edm::InputTag>("ebInput"));
62  tok_EE_ = consumes<EcalRecHitCollection>(iConfig.getParameter<edm::InputTag>("eeInput"));
64  consumes<std::vector<reco::TrackExtrapolation> >(iConfig.getParameter<edm::InputTag>("trackExtrapolationInput"));
65 
66  // ES tokens
67  ecalChStatusToken_ = esConsumes<EcalChannelStatus, EcalChannelStatusRcd>();
68  hcalChStatusToken_ = esConsumes<HcalChannelQuality, HcalChannelQualityRcd>(edm::ESInputTag("", "withTopo"));
69  hcalSevToken_ = esConsumes<HcalSeverityLevelComputer, HcalSeverityLevelComputerRcd>();
70  ecalSevToken_ = esConsumes<EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd>();
71  ctcmToken_ = esConsumes<CaloTowerConstituentsMap, CaloGeometryRecord>();
72  hfemapToken_ = esConsumes<HcalFrontEndMap, HcalFrontEndMapRcd>();
74 
75  produces<HBHERecHitCollection>();
76 }
ESGetTokenH3DDVariant esConsumes(std::string const &Record, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcd > ecalChStatusToken_
edm::ESGetToken< CaloTowerConstituentsMap, CaloGeometryRecord > ctcmToken_
edm::ESGetToken< EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd > ecalSevToken_
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
edm::ESGetToken< HcalSeverityLevelComputer, HcalSeverityLevelComputerRcd > hcalSevToken_
edm::ESGetToken< HcalFrontEndMap, HcalFrontEndMapRcd > hfemapToken_
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
T getUntrackedParameter(std::string const &, T const &) const
edm::ESGetToken< HcalChannelQuality, HcalChannelQualityRcd > hcalChStatusToken_
edm::EDGetTokenT< std::vector< reco::TrackExtrapolation > > tok_trackExt_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geoToken_
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_

◆ ~HBHEIsolatedNoiseReflagger()

HBHEIsolatedNoiseReflagger::~HBHEIsolatedNoiseReflagger ( )
override

Definition at line 78 of file HBHEIsolatedNoiseReflagger.cc.

78 {}

Member Function Documentation

◆ DumpHBHEHitMap()

void HBHEIsolatedNoiseReflagger::DumpHBHEHitMap ( std::vector< HBHEHitMap > &  i) const
private

Definition at line 255 of file HBHEIsolatedNoiseReflagger.cc.

References hfemap, mps_fire::i, hit::id, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, HcalFrontEndMap::lookupRBX(), and HcalFrontEndMap::lookupRMIndex().

Referenced by produce().

255  {
256  for (std::vector<HBHEHitMap>::const_iterator it = i.begin(); it != i.end(); ++it) {
257  edm::LogInfo("HBHEIsolatedNoiseReflagger")
258  << "hit energy=" << it->hitEnergy() << "; # hits=" << it->nHits()
259  << "; hcal energy same=" << it->hcalEnergySameTowers() << "; ecal energy same=" << it->ecalEnergySameTowers()
260  << "; track energy same=" << it->trackEnergySameTowers()
261  << "; neighbor hcal energy=" << it->hcalEnergyNeighborTowers() << std::endl;
262  edm::LogInfo("HBHEIsolatedNoiseReflagger") << "hits:" << std::endl;
263  for (HBHEHitMap::hitmap_const_iterator it2 = it->beginHits(); it2 != it->endHits(); ++it2) {
264  const HBHERecHit* hit = it2->first;
265  edm::LogInfo("HBHEIsolatedNoiseReflagger")
266  << "RBX #=" << hfemap->lookupRBX(hit->id()) << "; HPD #=" << hfemap->lookupRMIndex(hit->id()) << "; "
267  << (*hit) << std::endl;
268  }
269  }
270  return;
271 }
std::map< const HBHERecHit *, const PhysicsTower * >::const_iterator hitmap_const_iterator
const int lookupRMIndex(DetId fId) const
unsigned int id
Log< level::Info, false > LogInfo
const std::string lookupRBX(DetId fId) const
brief lookup the RBX associated with the given logical id

◆ produce()

void HBHEIsolatedNoiseReflagger::produce ( edm::Event iEvent,
const edm::EventSetup evSetup 
)
overrideprivate

Definition at line 80 of file HBHEIsolatedNoiseReflagger.cc.

References edm::SortedCollection< T, SORT >::begin(), ctcmToken_, debug_, DumpHBHEHitMap(), ecalChStatusToken_, ecalSevToken_, edm::SortedCollection< T, SORT >::end(), geoToken_, edm::EventSetup::getData(), HcalCaloFlagLabels::HBHEIsolatedNoise, hcalChStatusToken_, hcalSevToken_, hfemap, hfemapToken_, mps_fire::i, iEvent, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, LooseDiHitEne_, LooseEcalIsol_, LooseHcalIsol_, LooseHPDEne1_, LooseHPDEne2_, LooseHPDHits1_, LooseHPDHits2_, LooseMonoHitEne_, LooseRBXEne1_, LooseRBXEne2_, LooseRBXHits1_, LooseRBXHits2_, LooseTrackIsol_, eostools::move(), TrackingDataMCValidation_Standalone_cff::nhits, objvalidator_, RBXEneThreshold_, ObjectValidator::setEBRecHitCollection(), ObjectValidator::setEcalChannelStatus(), ObjectValidator::setEcalSeverityLevelAlgo(), ObjectValidator::setEERecHitCollection(), CaloRecHit::setFlagField(), ObjectValidator::setHcalChannelQuality(), ObjectValidator::setHcalSeverityLevelComputer(), TightDiHitEne_, TightEcalIsol_, TightHcalIsol_, TightHPDEne1_, TightHPDEne2_, TightHPDHits1_, TightHPDHits2_, TightMonoHitEne_, TightRBXEne1_, TightRBXEne2_, TightRBXHits1_, TightRBXHits2_, TightTrackIsol_, tok_EB_, tok_EE_, tok_hbhe_, and tok_trackExt_.

80  {
81  // get the ECAL channel status map
82  const EcalChannelStatus* dbEcalChStatus = &evSetup.getData(ecalChStatusToken_);
83 
84  // get the HCAL channel status map
85  const HcalChannelQuality* dbHcalChStatus = &evSetup.getData(hcalChStatusToken_);
86 
87  // get the severity level computers
88  const HcalSeverityLevelComputer* hcalSevLvlComputer = &evSetup.getData(hcalSevToken_);
89  const EcalSeverityLevelAlgo* ecalSevLvlAlgo = &evSetup.getData(ecalSevToken_);
90 
91  // get the calotower mappings
92  const CaloTowerConstituentsMap& ctcm = evSetup.getData(ctcmToken_);
93 
94  // get hcal frontend map
95  const HcalFrontEndMap* hfemap = &evSetup.getData(hfemapToken_);
96 
97  // get the HB/HE hits
99  iEvent.getByToken(tok_hbhe_, hbhehits_h);
100 
101  // get the ECAL hits
103  iEvent.getByToken(tok_EB_, ebhits_h);
105  iEvent.getByToken(tok_EE_, eehits_h);
106 
107  // get the tracks
109  iEvent.getByToken(tok_trackExt_, trackextraps_h);
110 
111  // set the status maps and severity level computers for the hit validator
112  objvalidator_.setHcalChannelQuality(dbHcalChStatus);
113  objvalidator_.setEcalChannelStatus(dbEcalChStatus);
114  objvalidator_.setHcalSeverityLevelComputer(hcalSevLvlComputer);
115  objvalidator_.setEcalSeverityLevelAlgo(ecalSevLvlAlgo);
116  objvalidator_.setEBRecHitCollection(&(*ebhits_h));
117  objvalidator_.setEERecHitCollection(&(*eehits_h));
118 
119  // organizer the hits
121  hbhehits_h, ebhits_h, eehits_h, trackextraps_h, objvalidator_, ctcm, evSetup.getData(geoToken_));
122  HBHEHitMapOrganizer organizer(hbhehits_h, objvalidator_, pto, hfemap);
123 
124  // get the rbxs, hpds, dihits, and monohits
125  std::vector<HBHEHitMap> rbxs;
126  std::vector<HBHEHitMap> hpds;
127  std::vector<HBHEHitMap> dihits;
128  std::vector<HBHEHitMap> monohits;
129  organizer.getRBXs(rbxs, LooseRBXEne1_ < TightRBXEne1_ ? LooseRBXEne1_ : TightRBXEne1_);
130  organizer.getHPDs(hpds, LooseHPDEne1_ < TightHPDEne1_ ? LooseHPDEne1_ : TightHPDEne1_);
131  organizer.getDiHits(dihits, LooseDiHitEne_ < TightDiHitEne_ ? LooseDiHitEne_ : TightDiHitEne_);
132  organizer.getMonoHits(monohits, LooseMonoHitEne_ < TightMonoHitEne_ ? LooseMonoHitEne_ : TightMonoHitEne_);
133 
134  if (debug_ && (!rbxs.empty() || !hpds.empty() || !dihits.empty() || !monohits.empty())) {
135  edm::LogInfo("HBHEIsolatedNoiseReflagger") << "RBXs:" << std::endl;
136  DumpHBHEHitMap(rbxs);
137  edm::LogInfo("HBHEIsolatedNoiseReflagger") << "\nHPDs:" << std::endl;
138  DumpHBHEHitMap(hpds);
139  edm::LogInfo("HBHEIsolatedNoiseReflagger") << "\nDiHits:" << std::endl;
140  DumpHBHEHitMap(dihits);
141  edm::LogInfo("HBHEIsolatedNoiseReflagger") << "\nMonoHits:" << std::endl;
142  DumpHBHEHitMap(monohits);
143  }
144 
145  // bool result=true;
146 
147  // determine which hits are noisy
148  std::set<const HBHERecHit*> noisehits;
149  for (int i = 0; i < static_cast<int>(rbxs.size()); i++) {
150  int nhits = rbxs[i].nHits();
151  double ene = rbxs[i].hitEnergy();
152  double trkfide = rbxs[i].hitEnergyTrackFiducial();
153  double isolhcale = rbxs[i].hcalEnergySameTowers() + rbxs[i].hcalEnergyNeighborTowers();
154  double isolecale = rbxs[i].ecalEnergySameTowers();
155  double isoltrke = rbxs[i].trackEnergySameTowers() + rbxs[i].trackEnergyNeighborTowers();
156  //
157  // RBX mistag reduction
158  bool isLooseIso = false;
159  bool isTightIso = false;
160  if (ene > RBXEneThreshold_ && ene > 0) { // New absolute iso-cut for high energy RBX clusters
161  if (isolhcale < LooseHcalIsol_ * RBXEneThreshold_ && isolecale < LooseEcalIsol_ * RBXEneThreshold_ &&
162  isoltrke < LooseTrackIsol_ * RBXEneThreshold_)
163  isLooseIso = true;
164  if (isolhcale < TightHcalIsol_ * RBXEneThreshold_ && isolecale < TightEcalIsol_ * RBXEneThreshold_ &&
165  isoltrke < TightTrackIsol_ * RBXEneThreshold_)
166  isTightIso = true;
167  }
168  if (ene <= RBXEneThreshold_ && ene > 0) { // Old relative iso-cut for low energy RBX clusters
169  if (isolhcale / ene < LooseHcalIsol_ && isolecale / ene < LooseEcalIsol_ && isoltrke / ene < LooseTrackIsol_)
170  isLooseIso = true;
171  if (isolhcale / ene < TightHcalIsol_ && isolecale / ene < TightEcalIsol_ && isoltrke / ene < TightTrackIsol_)
172  isTightIso = true;
173  }
174  //
175  if ((isLooseIso && ((trkfide > LooseRBXEne1_ && nhits >= LooseRBXHits1_) ||
176  (trkfide > LooseRBXEne2_ && nhits >= LooseRBXHits2_))) ||
177  (isTightIso && ((trkfide > TightRBXEne1_ && nhits >= TightRBXHits1_) ||
178  (trkfide > TightRBXEne2_ && nhits >= TightRBXHits2_)))) {
179  for (HBHEHitMap::hitmap_const_iterator it = rbxs[i].beginHits(); it != rbxs[i].endHits(); ++it)
180  noisehits.insert(it->first);
181  // result=false;
182  }
183  }
184 
185  for (int i = 0; i < static_cast<int>(hpds.size()); i++) {
186  int nhits = hpds[i].nHits();
187  double ene = hpds[i].hitEnergy();
188  double trkfide = hpds[i].hitEnergyTrackFiducial();
189  double isolhcale = hpds[i].hcalEnergySameTowers() + hpds[i].hcalEnergyNeighborTowers();
190  double isolecale = hpds[i].ecalEnergySameTowers();
191  double isoltrke = hpds[i].trackEnergySameTowers() + hpds[i].trackEnergyNeighborTowers();
192  if ((ene > 0 && isolhcale / ene < LooseHcalIsol_ && isolecale / ene < LooseEcalIsol_ &&
193  isoltrke / ene < LooseTrackIsol_ &&
194  ((trkfide > LooseHPDEne1_ && nhits >= LooseHPDHits1_) ||
195  (trkfide > LooseHPDEne2_ && nhits >= LooseHPDHits2_))) ||
196  (ene > 0 && isolhcale / ene < TightHcalIsol_ && isolecale / ene < TightEcalIsol_ &&
197  isoltrke / ene < TightTrackIsol_ &&
198  ((trkfide > TightHPDEne1_ && nhits >= TightHPDHits1_) ||
199  (trkfide > TightHPDEne2_ && nhits >= TightHPDHits2_)))) {
200  for (HBHEHitMap::hitmap_const_iterator it = hpds[i].beginHits(); it != hpds[i].endHits(); ++it)
201  noisehits.insert(it->first);
202  // result=false;
203  }
204  }
205 
206  for (int i = 0; i < static_cast<int>(dihits.size()); i++) {
207  double ene = dihits[i].hitEnergy();
208  double trkfide = dihits[i].hitEnergyTrackFiducial();
209  double isolhcale = dihits[i].hcalEnergySameTowers() + dihits[i].hcalEnergyNeighborTowers();
210  double isolecale = dihits[i].ecalEnergySameTowers();
211  double isoltrke = dihits[i].trackEnergySameTowers() + dihits[i].trackEnergyNeighborTowers();
212  if ((ene > 0 && isolhcale / ene < LooseHcalIsol_ && isolecale / ene < LooseEcalIsol_ &&
213  isoltrke / ene < LooseTrackIsol_ && trkfide > 0.99 * ene && trkfide > LooseDiHitEne_) ||
214  (ene > 0 && isolhcale / ene < TightHcalIsol_ && isolecale / ene < TightEcalIsol_ &&
215  isoltrke / ene < TightTrackIsol_ && ene > TightDiHitEne_)) {
216  for (HBHEHitMap::hitmap_const_iterator it = dihits[i].beginHits(); it != dihits[i].endHits(); ++it)
217  noisehits.insert(it->first);
218  // result=false;
219  }
220  }
221 
222  for (int i = 0; i < static_cast<int>(monohits.size()); i++) {
223  double ene = monohits[i].hitEnergy();
224  double trkfide = monohits[i].hitEnergyTrackFiducial();
225  double isolhcale = monohits[i].hcalEnergySameTowers() + monohits[i].hcalEnergyNeighborTowers();
226  double isolecale = monohits[i].ecalEnergySameTowers();
227  double isoltrke = monohits[i].trackEnergySameTowers() + monohits[i].trackEnergyNeighborTowers();
228  if ((ene > 0 && isolhcale / ene < LooseHcalIsol_ && isolecale / ene < LooseEcalIsol_ &&
229  isoltrke / ene < LooseTrackIsol_ && trkfide > 0.99 * ene && trkfide > LooseMonoHitEne_) ||
230  (ene > 0 && isolhcale / ene < TightHcalIsol_ && isolecale / ene < TightEcalIsol_ &&
231  isoltrke / ene < TightTrackIsol_ && ene > TightMonoHitEne_)) {
232  for (HBHEHitMap::hitmap_const_iterator it = monohits[i].beginHits(); it != monohits[i].endHits(); ++it)
233  noisehits.insert(it->first);
234  // result=false;
235  }
236  }
237 
238  // prepare the output HBHE RecHit collection
239  auto pOut = std::make_unique<HBHERecHitCollection>();
240  // loop over rechits, and set the new bit you wish to use
241  for (HBHERecHitCollection::const_iterator it = hbhehits_h->begin(); it != hbhehits_h->end(); ++it) {
242  const HBHERecHit* hit = &(*it);
243  HBHERecHit newhit(*hit);
244  if (noisehits.end() != noisehits.find(hit)) {
245  newhit.setFlagField(1, HcalCaloFlagLabels::HBHEIsolatedNoise);
246  }
247  pOut->push_back(newhit);
248  }
249 
250  iEvent.put(std::move(pOut));
251 
252  return;
253 }
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
std::map< const HBHERecHit *, const PhysicsTower * >::const_iterator hitmap_const_iterator
edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcd > ecalChStatusToken_
void setHcalChannelQuality(const HcalChannelQuality *q)
edm::ESGetToken< CaloTowerConstituentsMap, CaloGeometryRecord > ctcmToken_
void DumpHBHEHitMap(std::vector< HBHEHitMap > &i) const
std::vector< T >::const_iterator const_iterator
edm::ESGetToken< EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd > ecalSevToken_
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
edm::ESGetToken< HcalSeverityLevelComputer, HcalSeverityLevelComputerRcd > hcalSevToken_
edm::ESGetToken< HcalFrontEndMap, HcalFrontEndMapRcd > hfemapToken_
void setHcalSeverityLevelComputer(const HcalSeverityLevelComputer *q)
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
int iEvent
Definition: GenABIO.cc:224
edm::ESGetToken< HcalChannelQuality, HcalChannelQualityRcd > hcalChStatusToken_
edm::EDGetTokenT< std::vector< reco::TrackExtrapolation > > tok_trackExt_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geoToken_
const_iterator begin() const
const_iterator end() const
void setEcalSeverityLevelAlgo(const EcalSeverityLevelAlgo *q)
void setEcalChannelStatus(const EcalChannelStatus *q)
Log< level::Info, false > LogInfo
void setEERecHitCollection(const EcalRecHitCollection *q)
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
void setEBRecHitCollection(const EcalRecHitCollection *q)
def move(src, dest)
Definition: eostools.py:511

Member Data Documentation

◆ ctcmToken_

edm::ESGetToken<CaloTowerConstituentsMap, CaloGeometryRecord> HBHEIsolatedNoiseReflagger::ctcmToken_
private

Definition at line 80 of file HBHEIsolatedNoiseReflagger.h.

Referenced by HBHEIsolatedNoiseReflagger(), and produce().

◆ debug_

bool HBHEIsolatedNoiseReflagger::debug_
private

Definition at line 70 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ ecalChStatusToken_

edm::ESGetToken<EcalChannelStatus, EcalChannelStatusRcd> HBHEIsolatedNoiseReflagger::ecalChStatusToken_
private

Definition at line 76 of file HBHEIsolatedNoiseReflagger.h.

Referenced by HBHEIsolatedNoiseReflagger(), and produce().

◆ ecalSevToken_

edm::ESGetToken<EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd> HBHEIsolatedNoiseReflagger::ecalSevToken_
private

Definition at line 79 of file HBHEIsolatedNoiseReflagger.h.

Referenced by HBHEIsolatedNoiseReflagger(), and produce().

◆ geoToken_

edm::ESGetToken<CaloGeometry, CaloGeometryRecord> HBHEIsolatedNoiseReflagger::geoToken_
private

Definition at line 82 of file HBHEIsolatedNoiseReflagger.h.

Referenced by HBHEIsolatedNoiseReflagger(), and produce().

◆ hcalChStatusToken_

edm::ESGetToken<HcalChannelQuality, HcalChannelQualityRcd> HBHEIsolatedNoiseReflagger::hcalChStatusToken_
private

Definition at line 77 of file HBHEIsolatedNoiseReflagger.h.

Referenced by HBHEIsolatedNoiseReflagger(), and produce().

◆ hcalSevToken_

edm::ESGetToken<HcalSeverityLevelComputer, HcalSeverityLevelComputerRcd> HBHEIsolatedNoiseReflagger::hcalSevToken_
private

Definition at line 78 of file HBHEIsolatedNoiseReflagger.h.

Referenced by HBHEIsolatedNoiseReflagger(), and produce().

◆ hfemap

const HcalFrontEndMap* HBHEIsolatedNoiseReflagger::hfemap
private

Definition at line 46 of file HBHEIsolatedNoiseReflagger.h.

Referenced by DumpHBHEHitMap(), and produce().

◆ hfemapToken_

edm::ESGetToken<HcalFrontEndMap, HcalFrontEndMapRcd> HBHEIsolatedNoiseReflagger::hfemapToken_
private

Definition at line 81 of file HBHEIsolatedNoiseReflagger.h.

Referenced by HBHEIsolatedNoiseReflagger(), and produce().

◆ LooseDiHitEne_

double HBHEIsolatedNoiseReflagger::LooseDiHitEne_
private

Definition at line 63 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ LooseEcalIsol_

double HBHEIsolatedNoiseReflagger::LooseEcalIsol_
private

Definition at line 49 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ LooseHcalIsol_

double HBHEIsolatedNoiseReflagger::LooseHcalIsol_
private

Definition at line 48 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ LooseHPDEne1_

double HBHEIsolatedNoiseReflagger::LooseHPDEne1_
private

Definition at line 59 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ LooseHPDEne2_

double HBHEIsolatedNoiseReflagger::LooseHPDEne2_
private

Definition at line 59 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ LooseHPDHits1_

int HBHEIsolatedNoiseReflagger::LooseHPDHits1_
private

Definition at line 60 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ LooseHPDHits2_

int HBHEIsolatedNoiseReflagger::LooseHPDHits2_
private

Definition at line 60 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ LooseMonoHitEne_

double HBHEIsolatedNoiseReflagger::LooseMonoHitEne_
private

Definition at line 65 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ LooseRBXEne1_

double HBHEIsolatedNoiseReflagger::LooseRBXEne1_
private

Definition at line 55 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ LooseRBXEne2_

double HBHEIsolatedNoiseReflagger::LooseRBXEne2_
private

Definition at line 55 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ LooseRBXHits1_

int HBHEIsolatedNoiseReflagger::LooseRBXHits1_
private

Definition at line 56 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ LooseRBXHits2_

int HBHEIsolatedNoiseReflagger::LooseRBXHits2_
private

Definition at line 56 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ LooseTrackIsol_

double HBHEIsolatedNoiseReflagger::LooseTrackIsol_
private

Definition at line 50 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ objvalidator_

ObjectValidator HBHEIsolatedNoiseReflagger::objvalidator_
private

Definition at line 73 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ RBXEneThreshold_

double HBHEIsolatedNoiseReflagger::RBXEneThreshold_
private

Definition at line 68 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ TightDiHitEne_

double HBHEIsolatedNoiseReflagger::TightDiHitEne_
private

Definition at line 64 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ TightEcalIsol_

double HBHEIsolatedNoiseReflagger::TightEcalIsol_
private

Definition at line 52 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ TightHcalIsol_

double HBHEIsolatedNoiseReflagger::TightHcalIsol_
private

Definition at line 51 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ TightHPDEne1_

double HBHEIsolatedNoiseReflagger::TightHPDEne1_
private

Definition at line 61 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ TightHPDEne2_

double HBHEIsolatedNoiseReflagger::TightHPDEne2_
private

Definition at line 61 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ TightHPDHits1_

int HBHEIsolatedNoiseReflagger::TightHPDHits1_
private

Definition at line 62 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ TightHPDHits2_

int HBHEIsolatedNoiseReflagger::TightHPDHits2_
private

Definition at line 62 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ TightMonoHitEne_

double HBHEIsolatedNoiseReflagger::TightMonoHitEne_
private

Definition at line 66 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ TightRBXEne1_

double HBHEIsolatedNoiseReflagger::TightRBXEne1_
private

Definition at line 57 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ TightRBXEne2_

double HBHEIsolatedNoiseReflagger::TightRBXEne2_
private

Definition at line 57 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ TightRBXHits1_

int HBHEIsolatedNoiseReflagger::TightRBXHits1_
private

Definition at line 58 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ TightRBXHits2_

int HBHEIsolatedNoiseReflagger::TightRBXHits2_
private

Definition at line 58 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ TightTrackIsol_

double HBHEIsolatedNoiseReflagger::TightTrackIsol_
private

Definition at line 53 of file HBHEIsolatedNoiseReflagger.h.

Referenced by produce().

◆ tok_EB_

edm::EDGetTokenT<EcalRecHitCollection> HBHEIsolatedNoiseReflagger::tok_EB_
private

Definition at line 43 of file HBHEIsolatedNoiseReflagger.h.

Referenced by HBHEIsolatedNoiseReflagger(), and produce().

◆ tok_EE_

edm::EDGetTokenT<EcalRecHitCollection> HBHEIsolatedNoiseReflagger::tok_EE_
private

Definition at line 44 of file HBHEIsolatedNoiseReflagger.h.

Referenced by HBHEIsolatedNoiseReflagger(), and produce().

◆ tok_hbhe_

edm::EDGetTokenT<HBHERecHitCollection> HBHEIsolatedNoiseReflagger::tok_hbhe_
private

Definition at line 42 of file HBHEIsolatedNoiseReflagger.h.

Referenced by HBHEIsolatedNoiseReflagger(), and produce().

◆ tok_trackExt_

edm::EDGetTokenT<std::vector<reco::TrackExtrapolation> > HBHEIsolatedNoiseReflagger::tok_trackExt_
private

Definition at line 45 of file HBHEIsolatedNoiseReflagger.h.

Referenced by HBHEIsolatedNoiseReflagger(), and produce().