CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Attributes
PileUpSubtractor Class Reference

#include <PileUpSubtractor.h>

Inheritance diagram for PileUpSubtractor:
JetOffsetCorrector MultipleAlgoIterator ParametrizedSubtractor ReflectedIterator

Public Types

typedef std::shared_ptr< fastjet::GhostedAreaSpec > ActiveAreaSpecPtr
 
typedef std::shared_ptr< fastjet::ClusterSequence > ClusterSequencePtr
 
typedef std::shared_ptr< fastjet::JetDefinition > JetDefPtr
 
typedef std::shared_ptr< fastjet::RangeDefinition > RangeDefPtr
 

Public Member Functions

virtual void calculateOrphanInput (std::vector< fastjet::PseudoJet > &orphanInput)
 
virtual void calculatePedestal (std::vector< fastjet::PseudoJet > const &coll)
 
virtual double getCone (double cone, double eta, double phi, double &et, double &pu)
 
virtual double getMeanAtTower (const reco::CandidatePtr &in) const
 
int getN (const reco::CandidatePtr &in) const
 
int getNwithJets (const reco::CandidatePtr &in) const
 
virtual double getPileUpAtTower (const reco::CandidatePtr &in) const
 
virtual double getPileUpEnergy (int ijet) const
 
virtual double getSigmaAtTower (const reco::CandidatePtr &in) const
 
int ieta (const reco::CandidatePtr &in) const
 
int iphi (const reco::CandidatePtr &in) const
 
virtual void offsetCorrectJets ()
 
 PileUpSubtractor (const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iC)
 
virtual void reset (std::vector< edm::Ptr< reco::Candidate > > &input, std::vector< fastjet::PseudoJet > &towers, std::vector< fastjet::PseudoJet > &output)
 
virtual void setDefinition (JetDefPtr const &jetDef)
 
virtual void setupGeometryMap (edm::Event &iEvent, const edm::EventSetup &iSetup)
 
virtual void subtractPedestal (std::vector< fastjet::PseudoJet > &coll)
 
virtual ~PileUpSubtractor ()
 

Protected Attributes

int activeAreaRepeats
 
std::vector< HcalDetIdallgeomid_
 
bool doAreaFastjet_
 
bool doRhoFastjet_
 
std::map< int, double > emean_
 
std::map< int, double > esigma_
 
ActiveAreaSpecPtr fjActiveArea_
 
ClusterSequencePtr fjClusterSeq_
 
std::vector< fastjet::PseudoJet > * fjInputs_
 
JetDefPtr fjJetDefinition_
 
std::vector< fastjet::PseudoJet > * fjJets_
 
std::vector< fastjet::PseudoJet > fjOriginalInputs_
 
CaloGeometry const * geo_
 
std::map< int, int > geomtowers_
 
double ghostArea
 
double ghostEtaMax
 
int ietamax_
 
int ietamin_
 
std::vector< edm::Ptr< reco::Candidate > > * inputs_
 
std::vector< double > jetOffset_
 
double jetPtMin_
 
double nSigmaPU_
 
std::map< int, int > ntowersWithJets_
 
double puPtMin_
 
double radiusPU_
 
bool reRunAlgo_
 

Detailed Description

Definition at line 23 of file PileUpSubtractor.h.

Member Typedef Documentation

◆ ActiveAreaSpecPtr

typedef std::shared_ptr<fastjet::GhostedAreaSpec> PileUpSubtractor::ActiveAreaSpecPtr

Definition at line 26 of file PileUpSubtractor.h.

◆ ClusterSequencePtr

typedef std::shared_ptr<fastjet::ClusterSequence> PileUpSubtractor::ClusterSequencePtr

Definition at line 25 of file PileUpSubtractor.h.

◆ JetDefPtr

typedef std::shared_ptr<fastjet::JetDefinition> PileUpSubtractor::JetDefPtr

Definition at line 28 of file PileUpSubtractor.h.

◆ RangeDefPtr

typedef std::shared_ptr<fastjet::RangeDefinition> PileUpSubtractor::RangeDefPtr

Definition at line 27 of file PileUpSubtractor.h.

Constructor & Destructor Documentation

◆ PileUpSubtractor()

PileUpSubtractor::PileUpSubtractor ( const edm::ParameterSet iConfig,
edm::ConsumesCollector &&  iC 
)

Definition at line 20 of file PileUpSubtractor.cc.

20  {
21  geo_ = nullptr;
22  doAreaFastjet_ = iConfig.getParameter<bool>("doAreaFastjet");
23  doRhoFastjet_ = iConfig.getParameter<bool>("doRhoFastjet");
24  nSigmaPU_ = iConfig.getParameter<double>("nSigmaPU");
25  radiusPU_ = iConfig.getParameter<double>("radiusPU");
26  jetPtMin_ = iConfig.getParameter<double>("jetPtMin");
27  puPtMin_ = iConfig.getParameter<double>("puPtMin");
28  ghostEtaMax = iConfig.getParameter<double>("Ghost_EtaMax");
29  activeAreaRepeats = iConfig.getParameter<int>("Active_Area_Repeats");
30  ghostArea = iConfig.getParameter<double>("GhostArea");
31 
33  fjActiveArea_ = std::make_shared<fastjet::ActiveAreaSpec>(ghostEtaMax, activeAreaRepeats, ghostArea);
34  if ((ghostEtaMax < 0) || (activeAreaRepeats < 0) || (ghostArea < 0))
35  throw cms::Exception("doAreaFastjet or doRhoFastjet")
36  << "Parameters ghostEtaMax, activeAreaRepeats or ghostArea for doAreaFastjet/doRhoFastjet are not defined."
37  << std::endl;
38  }
39 }

References Exception, and edm::ParameterSet::getParameter().

◆ ~PileUpSubtractor()

virtual PileUpSubtractor::~PileUpSubtractor ( )
inlinevirtual

Definition at line 31 of file PileUpSubtractor.h.

31 { ; }

Member Function Documentation

◆ calculateOrphanInput()

void PileUpSubtractor::calculateOrphanInput ( std::vector< fastjet::PseudoJet > &  orphanInput)
virtual

Reimplemented in ParametrizedSubtractor.

Definition at line 186 of file PileUpSubtractor.cc.

186  {
187  LogDebug("PileUpSubtractor") << "The subtractor calculating orphan input...\n";
188 
189  (*fjInputs_) = fjOriginalInputs_;
190 
191  vector<int> jettowers; // vector of towers indexed by "user_index"
192  vector<pair<int, int> > excludedTowers; // vector of excluded ieta, iphi values
193 
194  vector<fastjet::PseudoJet>::iterator pseudojetTMP = fjJets_->begin(), fjJetsEnd = fjJets_->end();
195  for (; pseudojetTMP != fjJetsEnd; ++pseudojetTMP) {
196  if (pseudojetTMP->perp() < puPtMin_)
197  continue;
198 
199  // find towers within radiusPU_ of this jet
200  for (vector<HcalDetId>::const_iterator im = allgeomid_.begin(); im != allgeomid_.end(); im++) {
201  double dr = reco::deltaR(geo_->getPosition((DetId)(*im)), (*pseudojetTMP));
202  vector<pair<int, int> >::const_iterator exclude =
203  find(excludedTowers.begin(), excludedTowers.end(), pair<int, int>(im->ieta(), im->iphi()));
204  if (dr < radiusPU_ && exclude == excludedTowers.end()) {
205  ntowersWithJets_[(*im).ieta()]++;
206  excludedTowers.push_back(pair<int, int>(im->ieta(), im->iphi()));
207  }
208  }
209  vector<fastjet::PseudoJet>::const_iterator it = fjInputs_->begin(), fjInputsEnd = fjInputs_->end();
210 
211  for (; it != fjInputsEnd; ++it) {
212  int index = it->user_index();
213  int ie = ieta((*inputs_)[index]);
214  int ip = iphi((*inputs_)[index]);
215  vector<pair<int, int> >::const_iterator exclude =
216  find(excludedTowers.begin(), excludedTowers.end(), pair<int, int>(ie, ip));
217  if (exclude != excludedTowers.end()) {
218  jettowers.push_back(index);
219  } //dr < radiusPU_
220  } // initial input collection
221  } // pseudojets
222 
223  //
224  // Create a new collections from the towers not included in jets
225  //
226  for (vector<fastjet::PseudoJet>::const_iterator it = fjInputs_->begin(), fjInputsEnd = fjInputs_->end();
227  it != fjInputsEnd;
228  ++it) {
229  int index = it->user_index();
230  vector<int>::const_iterator itjet = find(jettowers.begin(), jettowers.end(), index);
231  if (itjet == jettowers.end()) {
232  const reco::CandidatePtr& originalTower = (*inputs_)[index];
233  fastjet::PseudoJet orphan(originalTower->px(), originalTower->py(), originalTower->pz(), originalTower->energy());
234  orphan.set_user_index(index);
235 
236  orphanInput.push_back(orphan);
237  }
238  }
239 }

References reco::deltaR(), flavorHistoryFilter_cfi::dr, spr::find(), LEDCalibrationChannels::ieta, LEDCalibrationChannels::iphi, and LogDebug.

◆ calculatePedestal()

void PileUpSubtractor::calculatePedestal ( std::vector< fastjet::PseudoJet > const &  coll)
virtual

Reimplemented in MultipleAlgoIterator, ParametrizedSubtractor, and ReflectedIterator.

Definition at line 98 of file PileUpSubtractor.cc.

98  {
99  LogDebug("PileUpSubtractor") << "The subtractor calculating pedestals...\n";
100  map<int, double> emean2;
101  map<int, int> ntowers;
102 
103  int ietaold = -10000;
104  int ieta0 = -100;
105 
106  // Initial values for emean_, emean2, esigma_, ntowers
107 
108  for (int i = ietamin_; i < ietamax_ + 1; i++) {
109  emean_[i] = 0.;
110  emean2[i] = 0.;
111  esigma_[i] = 0.;
112  ntowers[i] = 0;
113  }
114 
115  for (vector<fastjet::PseudoJet>::const_iterator input_object = coll.begin(), fjInputsEnd = coll.end();
116  input_object != fjInputsEnd;
117  ++input_object) {
118  const reco::CandidatePtr& originalTower = (*inputs_)[input_object->user_index()];
119  ieta0 = ieta(originalTower);
120  double Original_Et = originalTower->et();
121  if (ieta0 - ietaold != 0) {
122  emean_[ieta0] = emean_[ieta0] + Original_Et;
123  emean2[ieta0] = emean2[ieta0] + Original_Et * Original_Et;
124  ntowers[ieta0] = 1;
125  ietaold = ieta0;
126  } else {
127  emean_[ieta0] = emean_[ieta0] + Original_Et;
128  emean2[ieta0] = emean2[ieta0] + Original_Et * Original_Et;
129  ntowers[ieta0]++;
130  }
131  }
132 
133  for (map<int, int>::const_iterator gt = geomtowers_.begin(); gt != geomtowers_.end(); gt++) {
134  int it = (*gt).first;
135 
136  double e1 = (*(emean_.find(it))).second;
137  double e2 = (*emean2.find(it)).second;
138  int nt = (*gt).second - (*(ntowersWithJets_.find(it))).second;
139 
140  LogDebug("PileUpSubtractor") << " ieta : " << it << " number of towers : " << nt << " e1 : " << e1 << " e2 : " << e2
141  << "\n";
142  if (nt > 0) {
143  emean_[it] = e1 / nt;
144  double eee = e2 / nt - e1 * e1 / (nt * nt);
145  if (eee < 0.)
146  eee = 0.;
147  esigma_[it] = nSigmaPU_ * sqrt(eee);
148  } else {
149  emean_[it] = 0.;
150  esigma_[it] = 0.;
151  }
152  LogDebug("PileUpSubtractor") << " ieta : " << it << " Pedestals : " << emean_[it] << " " << esigma_[it] << "\n";
153  }
154 }

References StorageManager_cfg::e1, mps_fire::i, LEDCalibrationChannels::ieta, LogDebug, nt, edm::second(), and mathSSE::sqrt().

◆ getCone()

double PileUpSubtractor::getCone ( double  cone,
double  eta,
double  phi,
double &  et,
double &  pu 
)
virtual

Definition at line 283 of file PileUpSubtractor.cc.

283  {
284  pu = 0;
285 
286  for (vector<HcalDetId>::const_iterator im = allgeomid_.begin(); im != allgeomid_.end(); im++) {
287  if (im->depth() != 1)
288  continue;
289  const GlobalPoint& point = geo_->getPosition((DetId)(*im));
290  double dr = reco::deltaR(point.eta(), point.phi(), eta, phi);
291  if (dr < cone) {
292  pu += (*emean_.find(im->ieta())).second + (*esigma_.find(im->ieta())).second;
293  }
294  }
295 
296  return pu;
297 }

References reco::deltaR(), flavorHistoryFilter_cfi::dr, PVValHelper::eta, point, and muons2muons_cfi::pu.

◆ getMeanAtTower()

double PileUpSubtractor::getMeanAtTower ( const reco::CandidatePtr in) const
virtual

Reimplemented in ParametrizedSubtractor.

Definition at line 299 of file PileUpSubtractor.cc.

299  {
300  int it = ieta(in);
301  return (*emean_.find(it)).second;
302 }

References LEDCalibrationChannels::ieta, recoMuon::in, and edm::second().

◆ getN()

int PileUpSubtractor::getN ( const reco::CandidatePtr in) const

Definition at line 314 of file PileUpSubtractor.cc.

314  {
315  int it = ieta(in);
316 
317  int n = (*(geomtowers_.find(it))).second - (*(ntowersWithJets_.find(it))).second;
318  return n;
319 }

References LEDCalibrationChannels::ieta, recoMuon::in, and dqmiodumpmetadata::n.

◆ getNwithJets()

int PileUpSubtractor::getNwithJets ( const reco::CandidatePtr in) const

Definition at line 321 of file PileUpSubtractor.cc.

321  {
322  int it = ieta(in);
323  int n = (*(ntowersWithJets_.find(it))).second;
324  return n;
325 }

References LEDCalibrationChannels::ieta, recoMuon::in, and dqmiodumpmetadata::n.

◆ getPileUpAtTower()

double PileUpSubtractor::getPileUpAtTower ( const reco::CandidatePtr in) const
virtual

Reimplemented in ParametrizedSubtractor.

Definition at line 309 of file PileUpSubtractor.cc.

309  {
310  int it = ieta(in);
311  return (*emean_.find(it)).second + (*esigma_.find(it)).second;
312 }

References LEDCalibrationChannels::ieta, recoMuon::in, and edm::second().

◆ getPileUpEnergy()

virtual double PileUpSubtractor::getPileUpEnergy ( int  ijet) const
inlinevirtual

Definition at line 45 of file PileUpSubtractor.h.

45 { return jetOffset_[ijet]; }

References jetOffset_.

◆ getSigmaAtTower()

double PileUpSubtractor::getSigmaAtTower ( const reco::CandidatePtr in) const
virtual

Reimplemented in ParametrizedSubtractor.

Definition at line 304 of file PileUpSubtractor.cc.

304  {
305  int it = ieta(in);
306  return (*esigma_.find(it)).second;
307 }

References LEDCalibrationChannels::ieta, recoMuon::in, and edm::second().

◆ ieta()

int PileUpSubtractor::ieta ( const reco::CandidatePtr in) const

Definition at line 327 of file PileUpSubtractor.cc.

327  {
328  int it = 0;
329  const CaloTower* ctc = dynamic_cast<const CaloTower*>(in.get());
330  if (ctc) {
331  it = ctc->id().ieta();
332  } else {
333  throw cms::Exception("Invalid Constituent") << "CaloJet constituent is not of CaloTower type";
334  }
335  return it;
336 }

References Exception, CaloTower::id(), CaloTowerDetId::ieta(), and recoMuon::in.

Referenced by ParametrizedSubtractor::getMeanAtTower(), ParametrizedSubtractor::getPileUpAtTower(), ParametrizedSubtractor::getPU(), ParametrizedSubtractor::getSigmaAtTower(), ParametrizedSubtractor::offsetCorrectJets(), ParametrizedSubtractor::setupGeometryMap(), and ParametrizedSubtractor::subtractPedestal().

◆ iphi()

int PileUpSubtractor::iphi ( const reco::CandidatePtr in) const

Definition at line 338 of file PileUpSubtractor.cc.

338  {
339  int it = 0;
340  const CaloTower* ctc = dynamic_cast<const CaloTower*>(in.get());
341  if (ctc) {
342  it = ctc->id().iphi();
343  } else {
344  throw cms::Exception("Invalid Constituent") << "CaloJet constituent is not of CaloTower type";
345  }
346  return it;
347 }

References Exception, CaloTower::id(), recoMuon::in, and CaloTowerDetId::iphi().

Referenced by ParametrizedSubtractor::subtractPedestal().

◆ offsetCorrectJets()

void PileUpSubtractor::offsetCorrectJets ( )
virtual

Reimplemented in ParametrizedSubtractor, MultipleAlgoIterator, and ReflectedIterator.

Definition at line 241 of file PileUpSubtractor.cc.

241  {
242  LogDebug("PileUpSubtractor") << "The subtractor correcting jets...\n";
243  jetOffset_.clear();
244  using namespace reco;
245 
246  //
247  // Reestimate energy of jet (energy of jet with initial map)
248  //
249  jetOffset_.reserve(fjJets_->size());
250  vector<fastjet::PseudoJet>::iterator pseudojetTMP = fjJets_->begin(), jetsEnd = fjJets_->end();
251  for (; pseudojetTMP != jetsEnd; ++pseudojetTMP) {
252  int ijet = pseudojetTMP - fjJets_->begin();
253  jetOffset_[ijet] = 0;
254 
255  std::vector<fastjet::PseudoJet> towers = fastjet::sorted_by_pt(pseudojetTMP->constituents());
256  double newjetet = 0.;
257  for (vector<fastjet::PseudoJet>::const_iterator ito = towers.begin(), towEnd = towers.end(); ito != towEnd; ++ito) {
258  const reco::CandidatePtr& originalTower = (*inputs_)[ito->user_index()];
259  int it = ieta(originalTower);
260  double Original_Et = originalTower->et();
261  double etnew = Original_Et - (*emean_.find(it)).second - (*esigma_.find(it)).second;
262  if (etnew < 0.)
263  etnew = 0;
264  newjetet = newjetet + etnew;
265  jetOffset_[ijet] += Original_Et - etnew;
266  }
267  double mScale = newjetet / pseudojetTMP->Et();
268  LogDebug("PileUpSubtractor") << "pseudojetTMP->Et() : " << pseudojetTMP->Et() << '\n';
269  LogDebug("PileUpSubtractor") << "newjetet : " << newjetet << '\n';
270  LogDebug("PileUpSubtractor") << "jetOffset_[ijet] : " << jetOffset_[ijet] << '\n';
271  LogDebug("PileUpSubtractor") << "pseudojetTMP->Et() - jetOffset_[ijet] : " << pseudojetTMP->Et() - jetOffset_[ijet]
272  << '\n';
273  LogDebug("PileUpSubtractor") << "Scale is : " << mScale << '\n';
274  int cshist = pseudojetTMP->cluster_hist_index();
275  pseudojetTMP->reset_momentum(pseudojetTMP->px() * mScale,
276  pseudojetTMP->py() * mScale,
277  pseudojetTMP->pz() * mScale,
278  pseudojetTMP->e() * mScale);
279  pseudojetTMP->set_cluster_hist_index(cshist);
280  }
281 }

References LEDCalibrationChannels::ieta, LogDebug, edm::second(), and HLT_2018_cff::towers.

◆ reset()

void PileUpSubtractor::reset ( std::vector< edm::Ptr< reco::Candidate > > &  input,
std::vector< fastjet::PseudoJet > &  towers,
std::vector< fastjet::PseudoJet > &  output 
)
virtual

Definition at line 41 of file PileUpSubtractor.cc.

43  {
44  inputs_ = &input;
45  fjInputs_ = &towers;
46  fjJets_ = &output;
47  fjOriginalInputs_ = (*fjInputs_);
48  for (unsigned int i = 0; i < fjInputs_->size(); ++i) {
49  fjOriginalInputs_[i].set_user_index((*fjInputs_)[i].user_index());
50  }
51 }

References mps_fire::i, input, convertSQLitetoXML_cfg::output, and HLT_2018_cff::towers.

◆ setDefinition()

void PileUpSubtractor::setDefinition ( JetDefPtr const &  jetDef)
virtual

Definition at line 53 of file PileUpSubtractor.cc.

53  {
54  fjJetDefinition_ = std::make_shared<fastjet::JetDefinition>(*jetDef);
55 }

◆ setupGeometryMap()

void PileUpSubtractor::setupGeometryMap ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Reimplemented in ParametrizedSubtractor.

Definition at line 57 of file PileUpSubtractor.cc.

57  {
58  LogDebug("PileUpSubtractor") << "The subtractor setting up geometry...\n";
59 
60  if (geo_ == nullptr) {
62  iSetup.get<CaloGeometryRecord>().get(pG);
63  geo_ = pG.product();
64  std::vector<DetId> alldid = geo_->getValidDetIds();
65 
66  int ietaold = -10000;
67  ietamax_ = -10000;
68  ietamin_ = 10000;
69  for (std::vector<DetId>::const_iterator did = alldid.begin(); did != alldid.end(); did++) {
70  if ((*did).det() == DetId::Hcal) {
71  HcalDetId hid = HcalDetId(*did);
72  if ((hid).depth() == 1) {
73  allgeomid_.push_back(*did);
74 
75  if ((hid).ieta() != ietaold) {
76  ietaold = (hid).ieta();
77  geomtowers_[(hid).ieta()] = 1;
78  if ((hid).ieta() > ietamax_)
79  ietamax_ = (hid).ieta();
80  if ((hid).ieta() < ietamin_)
81  ietamin_ = (hid).ieta();
82  } else {
83  geomtowers_[(hid).ieta()]++;
84  }
85  }
86  }
87  }
88  }
89 
90  for (int i = ietamin_; i < ietamax_ + 1; i++) {
91  ntowersWithJets_[i] = 0;
92  }
93 }

References LEDCalibrationChannels::depth, edm::EventSetup::get(), get, CaloGeometry::getValidDetIds(), DetId::Hcal, mps_fire::i, LEDCalibrationChannels::ieta, LogDebug, and edm::ESHandle< T >::product().

◆ subtractPedestal()

void PileUpSubtractor::subtractPedestal ( std::vector< fastjet::PseudoJet > &  coll)
virtual

Reimplemented in MultipleAlgoIterator, ParametrizedSubtractor, and ReflectedIterator.

Definition at line 159 of file PileUpSubtractor.cc.

159  {
160  LogDebug("PileUpSubtractor") << "The subtractor subtracting pedestals...\n";
161 
162  int it = -100;
163  for (vector<fastjet::PseudoJet>::iterator input_object = coll.begin(), fjInputsEnd = coll.end();
164  input_object != fjInputsEnd;
165  ++input_object) {
166  reco::CandidatePtr const& itow = (*inputs_)[input_object->user_index()];
167 
168  it = ieta(itow);
169 
170  double etnew = itow->et() - (*(emean_.find(it))).second - (*(esigma_.find(it))).second;
171  float mScale = etnew / input_object->Et();
172  if (etnew < 0.)
173  mScale = 0.;
174 
175  math::XYZTLorentzVectorD towP4(input_object->px() * mScale,
176  input_object->py() * mScale,
177  input_object->pz() * mScale,
178  input_object->e() * mScale);
179 
180  int index = input_object->user_index();
181  input_object->reset_momentum(towP4.px(), towP4.py(), towP4.pz(), towP4.energy());
182  input_object->set_user_index(index);
183  }
184 }

References LEDCalibrationChannels::ieta, and LogDebug.

Member Data Documentation

◆ activeAreaRepeats

int PileUpSubtractor::activeAreaRepeats
protected

Definition at line 70 of file PileUpSubtractor.h.

◆ allgeomid_

std::vector<HcalDetId> PileUpSubtractor::allgeomid_
protected

Definition at line 79 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::setupGeometryMap().

◆ doAreaFastjet_

bool PileUpSubtractor::doAreaFastjet_
protected

Definition at line 64 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::offsetCorrectJets().

◆ doRhoFastjet_

bool PileUpSubtractor::doRhoFastjet_
protected

Definition at line 65 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::offsetCorrectJets().

◆ emean_

std::map<int, double> PileUpSubtractor::emean_
protected

Definition at line 83 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::setupGeometryMap().

◆ esigma_

std::map<int, double> PileUpSubtractor::esigma_
protected

Definition at line 82 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::setupGeometryMap().

◆ fjActiveArea_

ActiveAreaSpecPtr PileUpSubtractor::fjActiveArea_
protected

Definition at line 75 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::offsetCorrectJets().

◆ fjClusterSeq_

ClusterSequencePtr PileUpSubtractor::fjClusterSeq_
protected

Definition at line 56 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::offsetCorrectJets().

◆ fjInputs_

std::vector<fastjet::PseudoJet>* PileUpSubtractor::fjInputs_
protected

◆ fjJetDefinition_

JetDefPtr PileUpSubtractor::fjJetDefinition_
protected

Definition at line 55 of file PileUpSubtractor.h.

◆ fjJets_

std::vector<fastjet::PseudoJet>* PileUpSubtractor::fjJets_
protected

Definition at line 59 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::offsetCorrectJets().

◆ fjOriginalInputs_

std::vector<fastjet::PseudoJet> PileUpSubtractor::fjOriginalInputs_
protected

Definition at line 60 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::offsetCorrectJets().

◆ geo_

CaloGeometry const* PileUpSubtractor::geo_
protected

◆ geomtowers_

std::map<int, int> PileUpSubtractor::geomtowers_
protected

Definition at line 80 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::setupGeometryMap().

◆ ghostArea

double PileUpSubtractor::ghostArea
protected

Definition at line 71 of file PileUpSubtractor.h.

◆ ghostEtaMax

double PileUpSubtractor::ghostEtaMax
protected

Definition at line 69 of file PileUpSubtractor.h.

◆ ietamax_

int PileUpSubtractor::ietamax_
protected

Definition at line 77 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::setupGeometryMap().

◆ ietamin_

int PileUpSubtractor::ietamin_
protected

Definition at line 78 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::setupGeometryMap().

◆ inputs_

std::vector<edm::Ptr<reco::Candidate> >* PileUpSubtractor::inputs_
protected

Definition at line 57 of file PileUpSubtractor.h.

◆ jetOffset_

std::vector<double> PileUpSubtractor::jetOffset_
protected

◆ jetPtMin_

double PileUpSubtractor::jetPtMin_
protected

Definition at line 66 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::offsetCorrectJets().

◆ nSigmaPU_

double PileUpSubtractor::nSigmaPU_
protected

◆ ntowersWithJets_

std::map<int, int> PileUpSubtractor::ntowersWithJets_
protected

Definition at line 81 of file PileUpSubtractor.h.

Referenced by ParametrizedSubtractor::setupGeometryMap().

◆ puPtMin_

double PileUpSubtractor::puPtMin_
protected

Definition at line 67 of file PileUpSubtractor.h.

◆ radiusPU_

double PileUpSubtractor::radiusPU_
protected

Definition at line 74 of file PileUpSubtractor.h.

◆ reRunAlgo_

bool PileUpSubtractor::reRunAlgo_
protected

Definition at line 63 of file PileUpSubtractor.h.

reco::Candidate::energy
virtual double energy() const =0
energy
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
PileUpSubtractor::ieta
int ieta(const reco::CandidatePtr &in) const
Definition: PileUpSubtractor.cc:327
PileUpSubtractor::iphi
int iphi(const reco::CandidatePtr &in) const
Definition: PileUpSubtractor.cc:338
mps_fire.i
i
Definition: mps_fire.py:355
input
static const std::string input
Definition: EdmProvDump.cc:48
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
nt
int nt
Definition: AMPTWrapper.h:42
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:32
CaloGeometry::getPosition
GlobalPoint getPosition(const DetId &id) const
Get the position of a given detector id.
Definition: CaloGeometry.cc:50
PileUpSubtractor::ghostArea
double ghostArea
Definition: PileUpSubtractor.h:71
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
PileUpSubtractor::puPtMin_
double puPtMin_
Definition: PileUpSubtractor.h:67
math::XYZTLorentzVectorD
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:14
DetId::Hcal
Definition: DetId.h:28
CaloTower::id
CaloTowerDetId id() const
Definition: CaloTower.h:127
PileUpSubtractor::doRhoFastjet_
bool doRhoFastjet_
Definition: PileUpSubtractor.h:65
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:215
PileUpSubtractor::allgeomid_
std::vector< HcalDetId > allgeomid_
Definition: PileUpSubtractor.h:79
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
PileUpSubtractor::fjActiveArea_
ActiveAreaSpecPtr fjActiveArea_
Definition: PileUpSubtractor.h:75
DetId
Definition: DetId.h:17
reco::Candidate::pz
virtual double pz() const =0
z coordinate of momentum vector
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
PVValHelper::eta
Definition: PVValidationHelpers.h:69
PileUpSubtractor::doAreaFastjet_
bool doAreaFastjet_
Definition: PileUpSubtractor.h:64
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
edm::ESHandle< CaloGeometry >
Point3DBase< float, GlobalTag >
PileUpSubtractor::geo_
CaloGeometry const * geo_
Definition: PileUpSubtractor.h:76
LEDCalibrationChannels.depth
depth
Definition: LEDCalibrationChannels.py:65
reco::Candidate::py
virtual double py() const =0
y coordinate of momentum vector
PileUpSubtractor::jetOffset_
std::vector< double > jetOffset_
Definition: PileUpSubtractor.h:85
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
PileUpSubtractor::fjOriginalInputs_
std::vector< fastjet::PseudoJet > fjOriginalInputs_
Definition: PileUpSubtractor.h:60
PileUpSubtractor::fjJets_
std::vector< fastjet::PseudoJet > * fjJets_
Definition: PileUpSubtractor.h:59
recoMuon::in
Definition: RecoMuonEnumerators.h:6
PileUpSubtractor::fjJetDefinition_
JetDefPtr fjJetDefinition_
Definition: PileUpSubtractor.h:55
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
HcalDetId
Definition: HcalDetId.h:12
PileUpSubtractor::geomtowers_
std::map< int, int > geomtowers_
Definition: PileUpSubtractor.h:80
CaloTower
Definition: CaloTower.h:26
PileUpSubtractor::esigma_
std::map< int, double > esigma_
Definition: PileUpSubtractor.h:82
get
#define get
edm::Ptr< Candidate >
CaloTowerDetId::iphi
int iphi() const
get the tower iphi
Definition: CaloTowerDetId.cc:30
DDAxes::phi
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
PileUpSubtractor::ghostEtaMax
double ghostEtaMax
Definition: PileUpSubtractor.h:69
PileUpSubtractor::fjInputs_
std::vector< fastjet::PseudoJet > * fjInputs_
Definition: PileUpSubtractor.h:58
HLT_2018_cff.towers
towers
Definition: HLT_2018_cff.py:35030
PileUpSubtractor::ietamin_
int ietamin_
Definition: PileUpSubtractor.h:78
CaloGeometry::getValidDetIds
std::vector< DetId > getValidDetIds() const
Get the list of all valid detector ids.
Definition: CaloGeometry.cc:75
CaloTowerDetId::ieta
int ieta() const
get the tower ieta
Definition: CaloTowerDetId.h:30
PileUpSubtractor::ietamax_
int ietamax_
Definition: PileUpSubtractor.h:77
reco::Candidate::px
virtual double px() const =0
x coordinate of momentum vector
PileUpSubtractor::nSigmaPU_
double nSigmaPU_
Definition: PileUpSubtractor.h:73
PileUpSubtractor::inputs_
std::vector< edm::Ptr< reco::Candidate > > * inputs_
Definition: PileUpSubtractor.h:57
flavorHistoryFilter_cfi.dr
dr
Definition: flavorHistoryFilter_cfi.py:37
Exception
Definition: hltDiff.cc:246
PileUpSubtractor::jetPtMin_
double jetPtMin_
Definition: PileUpSubtractor.h:66
reco::deltaR
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
PileUpSubtractor::activeAreaRepeats
int activeAreaRepeats
Definition: PileUpSubtractor.h:70
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
muons2muons_cfi.pu
pu
Definition: muons2muons_cfi.py:31
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
PileUpSubtractor::ntowersWithJets_
std::map< int, int > ntowersWithJets_
Definition: PileUpSubtractor.h:81
PileUpSubtractor::radiusPU_
double radiusPU_
Definition: PileUpSubtractor.h:74
PileUpSubtractor::emean_
std::map< int, double > emean_
Definition: PileUpSubtractor.h:83
reco::Candidate::et
virtual double et() const =0
transverse energy