CMS 3D CMS Logo

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

#include <PuppiContainer.h>

Public Member Functions

void initialize (const std::vector< RecoObj > &iRecoObjects)
 
const std::vector< PuppiCandidate > & pfParticles () const
 
const std::vector< double > & puppiAlphas ()
 
const std::vector< double > & puppiAlphasMed ()
 
const std::vector< double > & puppiAlphasRMS ()
 
 PuppiContainer (const edm::ParameterSet &iConfig)
 
int puppiNAlgos ()
 
const std::vector< double > & puppiRawAlphas ()
 
const std::vector< double > & puppiWeights ()
 
void setPUProxy (double const iPUProxy)
 
 ~PuppiContainer ()
 

Protected Member Functions

double getChi2FromdZ (double iDZ)
 
int getPuppiId (float iPt, float iEta)
 
void getRawAlphas (int iOpt, std::vector< PuppiCandidate > const &iConstits, std::vector< PuppiCandidate > const &iParticles, std::vector< PuppiCandidate > const &iChargeParticles)
 
void getRMSAvg (int iOpt, std::vector< PuppiCandidate > const &iConstits, std::vector< PuppiCandidate > const &iParticles, std::vector< PuppiCandidate > const &iChargeParticles)
 
double goodVar (PuppiCandidate const &iPart, std::vector< PuppiCandidate > const &iParts, int iOpt, const double iRCone)
 
double var_within_R (int iId, const std::vector< PuppiCandidate > &particles, const PuppiCandidate &centre, const double R)
 

Protected Attributes

std::vector< double > fAlphaMed
 
std::vector< double > fAlphaRMS
 
bool fApplyCHS
 
double fEtaMaxPhotons
 
bool fInvert
 
int fNAlgos
 
double fNeutralMinPt
 
double fNeutralSlope
 
std::vector< PuppiCandidatefPFParticles
 
std::vector< PuppiCandidatefPFParticlesForVar
 
std::vector< PuppiCandidatefPFParticlesForVarChargedPV
 
double fPtMaxNeutrals
 
double fPtMaxNeutralsStartSlope
 
double fPtMaxPhotons
 
std::vector< PuppiAlgofPuppiAlgo
 
bool fPuppiDiagnostics
 
double fPuppiWeightCut
 
double fPUProxy
 
std::vector< double > fRawAlphas
 
const std::vector< RecoObj > * fRecoParticles
 
bool fUseExp
 
std::vector< double > fVals
 
std::vector< double > fWeights
 

Detailed Description

Definition at line 8 of file PuppiContainer.h.

Constructor & Destructor Documentation

◆ PuppiContainer()

PuppiContainer::PuppiContainer ( const edm::ParameterSet iConfig)

Definition at line 14 of file PuppiContainer.cc.

14  {
15  fPuppiDiagnostics = iConfig.getParameter<bool>("puppiDiagnostics");
16  fApplyCHS = iConfig.getParameter<bool>("applyCHS");
17  fInvert = iConfig.getParameter<bool>("invertPuppi");
18  fUseExp = iConfig.getParameter<bool>("useExp");
19  fPuppiWeightCut = iConfig.getParameter<double>("MinPuppiWeight");
20  fPtMaxPhotons = iConfig.getParameter<double>("PtMaxPhotons");
21  fEtaMaxPhotons = iConfig.getParameter<double>("EtaMaxPhotons");
22  fPtMaxNeutrals = iConfig.getParameter<double>("PtMaxNeutrals");
23  fPtMaxNeutralsStartSlope = iConfig.getParameter<double>("PtMaxNeutralsStartSlope");
24  std::vector<edm::ParameterSet> lAlgos = iConfig.getParameter<std::vector<edm::ParameterSet> >("algos");
25  fNAlgos = lAlgos.size();
26  for (unsigned int i0 = 0; i0 < lAlgos.size(); i0++) {
27  PuppiAlgo pPuppiConfig(lAlgos[i0]);
28  fPuppiAlgo.push_back(pPuppiConfig);
29  }
30 }

References edm::ParameterSet::getParameter().

◆ ~PuppiContainer()

PuppiContainer::~PuppiContainer ( )

Definition at line 77 of file PuppiContainer.cc.

77 {}

Member Function Documentation

◆ getChi2FromdZ()

double PuppiContainer::getChi2FromdZ ( double  iDZ)
protected

Definition at line 224 of file PuppiContainer.cc.

224  {
225  //We need to obtain prob of PU + (1-Prob of LV)
226  // Prob(LV) = Gaus(dZ,sigma) where sigma = 1.5mm (its really more like 1mm)
227  //double lProbLV = ROOT::Math::normal_cdf_c(std::abs(iDZ),0.2)*2.; //*2 is to do it double sided
228  //Take iDZ to be corrected by sigma already
229  double lProbLV = ROOT::Math::normal_cdf_c(std::abs(iDZ), 1.) * 2.; //*2 is to do it double sided
230  double lProbPU = 1 - lProbLV;
231  if (lProbPU <= 0)
232  lProbPU = 1e-16; //Quick Trick to through out infs
233  if (lProbPU >= 0)
234  lProbPU = 1 - 1e-16; //Ditto
235  double lChi2PU = TMath::ChisquareQuantile(lProbPU, 1);
236  lChi2PU *= lChi2PU;
237  return lChi2PU;
238 }

References funct::abs(), and MillePedeFileConverter_cfg::e.

◆ getPuppiId()

int PuppiContainer::getPuppiId ( float  iPt,
float  iEta 
)
protected

Definition at line 207 of file PuppiContainer.cc.

207  {
208  int lId = -1;
209  for (int i0 = 0; i0 < fNAlgos; i0++) {
210  int nEtaBinsPerAlgo = fPuppiAlgo[i0].etaBins();
211  for (int i1 = 0; i1 < nEtaBinsPerAlgo; i1++) {
212  if ((std::abs(iEta) > fPuppiAlgo[i0].etaMin(i1)) && (std::abs(iEta) < fPuppiAlgo[i0].etaMax(i1))) {
213  fPuppiAlgo[i0].fixAlgoEtaBin(i1);
214  if (iPt > fPuppiAlgo[i0].ptMin()) {
215  lId = i0;
216  break;
217  }
218  }
219  }
220  }
221  //if(lId == -1) std::cerr << "Error : Full fiducial range is not defined " << std::endl;
222  return lId;
223 }

References funct::abs(), ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, testProducerWithPsetDescEmpty_cfi::i1, L1TowerCalibrationProducer_cfi::iEta, and ptMin.

◆ getRawAlphas()

void PuppiContainer::getRawAlphas ( int  iOpt,
std::vector< PuppiCandidate > const &  iConstits,
std::vector< PuppiCandidate > const &  iParticles,
std::vector< PuppiCandidate > const &  iChargeParticles 
)
protected

Definition at line 185 of file PuppiContainer.cc.

188  {
189  for (int j0 = 0; j0 < fNAlgos; j0++) {
190  for (unsigned int i0 = 0; i0 < iConstits.size(); i0++) {
191  //Get the Puppi Sub Algo (given iteration)
192  int pAlgo = fPuppiAlgo[j0].algoId(iOpt);
193  bool pCharged = fPuppiAlgo[j0].isCharged(iOpt);
194  double pCone = fPuppiAlgo[j0].coneSize(iOpt);
195  //Compute the Puppi Metric
196  double const pVal = goodVar(iConstits[i0], pCharged ? iChargedParticles : iParticles, pAlgo, pCone);
197  fRawAlphas.push_back(pVal);
198  if (!edm::isFinite(pVal)) {
199  LogDebug("NotFound") << "====> Value is Nan " << pVal << " == " << iConstits[i0].pt << " -- "
200  << iConstits[i0].eta << endl;
201  continue;
202  }
203  }
204  }
205 }

References edm::isFinite(), and LogDebug.

◆ getRMSAvg()

void PuppiContainer::getRMSAvg ( int  iOpt,
std::vector< PuppiCandidate > const &  iConstits,
std::vector< PuppiCandidate > const &  iParticles,
std::vector< PuppiCandidate > const &  iChargeParticles 
)
protected

Definition at line 129 of file PuppiContainer.cc.

132  {
133  for (unsigned int i0 = 0; i0 < iConstits.size(); i0++) {
134  //Calculate the Puppi Algo to use
135  int pPupId = getPuppiId(iConstits[i0].pt, iConstits[i0].eta);
136  if (pPupId == -1 || fPuppiAlgo[pPupId].numAlgos() <= iOpt) {
137  fVals.push_back(-1);
138  continue;
139  }
140  //Get the Puppi Sub Algo (given iteration)
141  int pAlgo = fPuppiAlgo[pPupId].algoId(iOpt);
142  bool pCharged = fPuppiAlgo[pPupId].isCharged(iOpt);
143  double pCone = fPuppiAlgo[pPupId].coneSize(iOpt);
144  // compute the Puppi metric:
145  // - calculate goodVar only for candidates that (1) will not be assigned a predefined weight (e.g 0, 1),
146  // or (2) are required for computations inside puppi-algos (see call to PuppiAlgo::add below)
147  double pVal = -1;
148  bool const getsDefaultWgtIfApplyCHS = iConstits[i0].id == 1 or iConstits[i0].id == 2;
149  if (not((fApplyCHS and getsDefaultWgtIfApplyCHS) or iConstits[i0].id == 3) or
150  (std::abs(iConstits[i0].eta) < fPuppiAlgo[pPupId].etaMaxExtrap() and getsDefaultWgtIfApplyCHS)) {
151  pVal = goodVar(iConstits[i0], pCharged ? iChargedParticles : iParticles, pAlgo, pCone);
152  }
153  fVals.push_back(pVal);
154 
155  if (!edm::isFinite(pVal)) {
156  LogDebug("NotFound") << "====> Value is Nan " << pVal << " == " << iConstits[i0].pt << " -- " << iConstits[i0].eta
157  << endl;
158  continue;
159  }
160 
161  // code added by Nhan: now instead for every algorithm give it all the particles
162  for (int i1 = 0; i1 < fNAlgos; i1++) {
163  // skip cands outside of algo's etaMaxExtrap, as they would anyway be ignored inside PuppiAlgo::add (see end of the block)
164  if (not(std::abs(iConstits[i0].eta) < fPuppiAlgo[i1].etaMaxExtrap() and getsDefaultWgtIfApplyCHS))
165  continue;
166 
167  auto curVal = pVal;
168  // recompute goodVar if algo has changed
169  if (i1 != pPupId) {
170  pAlgo = fPuppiAlgo[i1].algoId(iOpt);
171  pCharged = fPuppiAlgo[i1].isCharged(iOpt);
172  pCone = fPuppiAlgo[i1].coneSize(iOpt);
173  curVal = goodVar(iConstits[i0], pCharged ? iChargedParticles : iParticles, pAlgo, pCone);
174  }
175 
176  fPuppiAlgo[i1].add(iConstits[i0], curVal, iOpt);
177  }
178  }
179 
180  for (int i0 = 0; i0 < fNAlgos; i0++)
181  fPuppiAlgo[i0].computeMedRMS(iOpt);
182 }

References funct::abs(), PVValHelper::eta, testProducerWithPsetDescEmpty_cfi::i1, edm::isFinite(), LogDebug, or, and DiDispStaMuonMonitor_cfi::pt.

◆ goodVar()

double PuppiContainer::goodVar ( PuppiCandidate const &  iPart,
std::vector< PuppiCandidate > const &  iParts,
int  iOpt,
const double  iRCone 
)
protected

Definition at line 79 of file PuppiContainer.cc.

82  {
83  return var_within_R(iOpt, iParts, iPart, iRCone);
84 }

◆ initialize()

void PuppiContainer::initialize ( const std::vector< RecoObj > &  iRecoObjects)

Definition at line 32 of file PuppiContainer.cc.

32  {
33  //Clear everything
34  fPFParticles.resize(0);
35  fPFParticlesForVar.resize(0);
37  fWeights.resize(0);
38  fVals.resize(0);
39  fRawAlphas.resize(0);
40  fAlphaMed.resize(0);
41  fAlphaRMS.resize(0);
42  fPUProxy = 1.;
43  //Link to the RecoObjects
44  fRecoParticles = &iRecoObjects;
45  fPFParticles.reserve(iRecoObjects.size());
46  fPFParticlesForVar.reserve(iRecoObjects.size());
47  fPFParticlesForVarChargedPV.reserve(iRecoObjects.size());
48  for (auto const &rParticle : *fRecoParticles) {
49  fastjet::PseudoJet curPseudoJet;
50  if (edm::isFinite(rParticle.rapidity)) {
51  curPseudoJet.reset_PtYPhiM(rParticle.pt, rParticle.rapidity, rParticle.phi, rParticle.m); //hacked
52  } else {
53  curPseudoJet.reset_PtYPhiM(0, 99., 0, 0); //skipping may have been a better choice
54  }
55  PuppiCandidate pCand;
56  pCand.pt = curPseudoJet.pt();
57  pCand.eta = curPseudoJet.eta();
58  pCand.rapidity = curPseudoJet.rap();
59  pCand.phi = curPseudoJet.phi();
60  pCand.m = curPseudoJet.m();
61  pCand.id = rParticle.id;
62 
63  fPFParticles.push_back(pCand);
64 
65  // skip candidates to be ignored in the computation
66  // of PUPPI's alphas (e.g. electrons and muons if puppiNoLep=True)
67  if (std::abs(rParticle.id) == 3)
68  continue;
69 
70  fPFParticlesForVar.push_back(pCand);
71  // charged candidates assigned to LV
72  if (std::abs(rParticle.id) == 1)
73  fPFParticlesForVarChargedPV.push_back(pCand);
74  }
75 }

References funct::abs(), PuppiCandidate::eta, PuppiCandidate::id, edm::isFinite(), PuppiCandidate::m, PuppiCandidate::phi, PuppiCandidate::pt, and PuppiCandidate::rapidity.

◆ pfParticles()

const std::vector<PuppiCandidate>& PuppiContainer::pfParticles ( ) const
inline

Definition at line 15 of file PuppiContainer.h.

15 { return fPFParticles; }

References fPFParticles.

◆ puppiAlphas()

const std::vector<double>& PuppiContainer::puppiAlphas ( )
inline

Definition at line 18 of file PuppiContainer.h.

18 { return fVals; }

References fVals.

◆ puppiAlphasMed()

const std::vector<double>& PuppiContainer::puppiAlphasMed ( )
inline

Definition at line 20 of file PuppiContainer.h.

20 { return fAlphaMed; }

References fAlphaMed.

◆ puppiAlphasRMS()

const std::vector<double>& PuppiContainer::puppiAlphasRMS ( )
inline

Definition at line 21 of file PuppiContainer.h.

21 { return fAlphaRMS; }

References fAlphaRMS.

◆ puppiNAlgos()

int PuppiContainer::puppiNAlgos ( )
inline

Definition at line 23 of file PuppiContainer.h.

23 { return fNAlgos; }

References fNAlgos.

◆ puppiRawAlphas()

const std::vector<double>& PuppiContainer::puppiRawAlphas ( )
inline

Definition at line 17 of file PuppiContainer.h.

17 { return fRawAlphas; }

References fRawAlphas.

◆ puppiWeights()

const std::vector< double > & PuppiContainer::puppiWeights ( )

Definition at line 239 of file PuppiContainer.cc.

239  {
240  int lNParticles = fRecoParticles->size();
241 
242  fWeights.clear();
243  fWeights.reserve(lNParticles);
244  fVals.clear();
245  fVals.reserve(lNParticles);
246  for (int i0 = 0; i0 < fNAlgos; i0++)
247  fPuppiAlgo[i0].reset();
248 
249  int lNMaxAlgo = 1;
250  for (int i0 = 0; i0 < fNAlgos; i0++)
251  lNMaxAlgo = std::max(fPuppiAlgo[i0].numAlgos(), lNMaxAlgo);
252  //Run through all compute mean and RMS
253  for (int i0 = 0; i0 < lNMaxAlgo; i0++) {
255  }
256  if (fPuppiDiagnostics)
258 
259  std::vector<double> pVals;
260  pVals.reserve(lNParticles);
261  for (int i0 = 0; i0 < lNParticles; i0++) {
262  //Refresh
263  pVals.clear();
264  double pWeight = 1;
265  //Get the Puppi Id and if ill defined move on
266  const auto &rParticle = (*fRecoParticles)[i0];
267  int pPupId = getPuppiId(rParticle.pt, rParticle.eta);
268  if (pPupId == -1) {
269  fWeights.push_back(0);
270  fAlphaMed.push_back(-10);
271  fAlphaRMS.push_back(-10);
272  continue;
273  }
274 
275  // fill the p-values
276  double pChi2 = 0;
277  if (fUseExp) {
278  //Compute an Experimental Puppi Weight with delta Z info (very simple example)
279  pChi2 = getChi2FromdZ(rParticle.dZ);
280  //Now make sure Neutrals are not set
281  if ((std::abs(rParticle.pdgId) == 22) || (std::abs(rParticle.pdgId) == 130))
282  pChi2 = 0;
283  }
284  //Fill and compute the PuppiWeight
285  int lNAlgos = fPuppiAlgo[pPupId].numAlgos();
286  for (int i1 = 0; i1 < lNAlgos; i1++)
287  pVals.push_back(fVals[lNParticles * i1 + i0]);
288 
289  pWeight = fPuppiAlgo[pPupId].compute(pVals, pChi2);
290  //Apply the CHS weights
291  if (rParticle.id == 1 && fApplyCHS)
292  pWeight = 1;
293  if (rParticle.id == 2 && fApplyCHS)
294  pWeight = 0;
295  //Apply weight of 1 for leptons if puppiNoLep
296  if (rParticle.id == 3)
297  pWeight = 1;
298  //Basic Weight Checks
299  if (!edm::isFinite(pWeight)) {
300  pWeight = 0.0;
301  LogDebug("PuppiWeightError") << "====> Weight is nan : " << pWeight << " : pt " << rParticle.pt
302  << " -- eta : " << rParticle.eta << " -- Value" << fVals[i0]
303  << " -- id : " << rParticle.id << " -- NAlgos: " << lNAlgos << std::endl;
304  }
305  //Basic Cuts
306  if (pWeight * fPFParticles[i0].pt < fPuppiAlgo[pPupId].neutralPt(fPUProxy) && rParticle.id == 0)
307  pWeight = 0; //threshold cut on the neutral Pt
308  // Protect high pT photons (important for gamma to hadronic recoil balance)
309  if (fPtMaxPhotons > 0 && rParticle.pdgId == 22 && std::abs(fPFParticles[i0].eta) < fEtaMaxPhotons &&
310  fPFParticles[i0].pt > fPtMaxPhotons)
311  pWeight = 1.;
312  // Protect high pT neutrals
313  else if ((fPtMaxNeutrals > 0) && (rParticle.id == 0))
314  pWeight = std::clamp(
316  if (pWeight < fPuppiWeightCut)
317  pWeight = 0; //==> Elminate the low Weight stuff
318  if (fInvert)
319  pWeight = 1. - pWeight;
320  //std::cout << "rParticle.pt = " << rParticle.pt << ", rParticle.charge = " << rParticle.charge << ", rParticle.id = " << rParticle.id << ", weight = " << pWeight << std::endl;
321 
322  fWeights.push_back(pWeight);
323  fAlphaMed.push_back(fPuppiAlgo[pPupId].median());
324  fAlphaRMS.push_back(fPuppiAlgo[pPupId].rms());
325  //Now get rid of the thrown out weights for the particle collection
326 
327  // leave these lines in, in case want to move eventually to having no 1-to-1 correspondence between puppi and pf cands
328  // if( std::abs(pWeight) < std::numeric_limits<double>::denorm_min() ) continue; // this line seems not to work like it's supposed to...
329  // if(std::abs(pWeight) <= 0. ) continue;
330  }
331  return fWeights;
332 }

References funct::abs(), testProducerWithPsetDescEmpty_cfi::i1, edm::isFinite(), LogDebug, SiStripPI::max, pfParticleNetPreprocessParams_cfi::median, DiDispStaMuonMonitor_cfi::pt, reset(), and SiStripPI::rms.

◆ setPUProxy()

void PuppiContainer::setPUProxy ( double const  iPUProxy)
inline

Definition at line 13 of file PuppiContainer.h.

13 { fPUProxy = iPUProxy; }

References fPUProxy.

◆ var_within_R()

double PuppiContainer::var_within_R ( int  iId,
const std::vector< PuppiCandidate > &  particles,
const PuppiCandidate centre,
const double  R 
)
protected

Definition at line 86 of file PuppiContainer.cc.

89  {
90  if (iId == -1)
91  return 1.;
92 
93  double const r2 = R * R;
94  double var = 0.;
95 
96  for (auto const &cand : particles) {
97  if (std::abs(cand.rapidity - centre.rapidity) < R) {
98  auto const dr2y = reco::deltaR2(cand.rapidity, cand.phi, centre.rapidity, centre.phi);
99  if (dr2y < r2) {
100  auto const dr2 = reco::deltaR2(cand.eta, cand.phi, centre.eta, centre.phi);
101  if (dr2 < 0.0001)
102  continue;
103  auto const pt = cand.pt;
104  if (iId == 5)
105  var += (pt * pt / dr2);
106  else if (iId == 4)
107  var += pt;
108  else if (iId == 3)
109  var += (1. / dr2);
110  else if (iId == 2)
111  var += (1. / dr2);
112  else if (iId == 1)
113  var += pt;
114  else if (iId == 0)
115  var += (pt / dr2);
116  }
117  }
118  }
119 
120  if ((var != 0.) and ((iId == 0) or (iId == 3) or (iId == 5)))
121  var = log(var);
122  else if (iId == 1)
123  var += centre.pt;
124 
125  return var;
126 }

References funct::abs(), reco::deltaR2(), PuppiCandidate::eta, dqm-mbProfile::log, or, ecalTrigSettings_cff::particles, PuppiCandidate::phi, PuppiCandidate::pt, DiDispStaMuonMonitor_cfi::pt, dttmaxenums::R, diffTwoXMLs::r2, PuppiCandidate::rapidity, and trigObjTnPSource_cfi::var.

Member Data Documentation

◆ fAlphaMed

std::vector<double> PuppiContainer::fAlphaMed
protected

Definition at line 50 of file PuppiContainer.h.

Referenced by puppiAlphasMed().

◆ fAlphaRMS

std::vector<double> PuppiContainer::fAlphaRMS
protected

Definition at line 51 of file PuppiContainer.h.

Referenced by puppiAlphasRMS().

◆ fApplyCHS

bool PuppiContainer::fApplyCHS
protected

Definition at line 53 of file PuppiContainer.h.

◆ fEtaMaxPhotons

double PuppiContainer::fEtaMaxPhotons
protected

Definition at line 60 of file PuppiContainer.h.

◆ fInvert

bool PuppiContainer::fInvert
protected

Definition at line 54 of file PuppiContainer.h.

◆ fNAlgos

int PuppiContainer::fNAlgos
protected

Definition at line 63 of file PuppiContainer.h.

Referenced by puppiNAlgos().

◆ fNeutralMinPt

double PuppiContainer::fNeutralMinPt
protected

Definition at line 56 of file PuppiContainer.h.

◆ fNeutralSlope

double PuppiContainer::fNeutralSlope
protected

Definition at line 57 of file PuppiContainer.h.

◆ fPFParticles

std::vector<PuppiCandidate> PuppiContainer::fPFParticles
protected

Definition at line 44 of file PuppiContainer.h.

Referenced by pfParticles().

◆ fPFParticlesForVar

std::vector<PuppiCandidate> PuppiContainer::fPFParticlesForVar
protected

Definition at line 45 of file PuppiContainer.h.

◆ fPFParticlesForVarChargedPV

std::vector<PuppiCandidate> PuppiContainer::fPFParticlesForVarChargedPV
protected

Definition at line 46 of file PuppiContainer.h.

◆ fPtMaxNeutrals

double PuppiContainer::fPtMaxNeutrals
protected

Definition at line 61 of file PuppiContainer.h.

◆ fPtMaxNeutralsStartSlope

double PuppiContainer::fPtMaxNeutralsStartSlope
protected

Definition at line 62 of file PuppiContainer.h.

◆ fPtMaxPhotons

double PuppiContainer::fPtMaxPhotons
protected

Definition at line 59 of file PuppiContainer.h.

◆ fPuppiAlgo

std::vector<PuppiAlgo> PuppiContainer::fPuppiAlgo
protected

Definition at line 65 of file PuppiContainer.h.

◆ fPuppiDiagnostics

bool PuppiContainer::fPuppiDiagnostics
protected

Definition at line 42 of file PuppiContainer.h.

◆ fPuppiWeightCut

double PuppiContainer::fPuppiWeightCut
protected

Definition at line 58 of file PuppiContainer.h.

◆ fPUProxy

double PuppiContainer::fPUProxy
protected

Definition at line 64 of file PuppiContainer.h.

Referenced by setPUProxy().

◆ fRawAlphas

std::vector<double> PuppiContainer::fRawAlphas
protected

Definition at line 49 of file PuppiContainer.h.

Referenced by puppiRawAlphas().

◆ fRecoParticles

const std::vector<RecoObj>* PuppiContainer::fRecoParticles
protected

Definition at line 43 of file PuppiContainer.h.

◆ fUseExp

bool PuppiContainer::fUseExp
protected

Definition at line 55 of file PuppiContainer.h.

◆ fVals

std::vector<double> PuppiContainer::fVals
protected

Definition at line 48 of file PuppiContainer.h.

Referenced by puppiAlphas().

◆ fWeights

std::vector<double> PuppiContainer::fWeights
protected

Definition at line 47 of file PuppiContainer.h.

PuppiCandidate::pt
double pt
Definition: PuppiCandidate.h:5
PuppiContainer::fPuppiWeightCut
double fPuppiWeightCut
Definition: PuppiContainer.h:58
ALCARECOTkAlBeamHalo_cff.etaMin
etaMin
GeV.
Definition: ALCARECOTkAlBeamHalo_cff.py:32
PuppiContainer::getChi2FromdZ
double getChi2FromdZ(double iDZ)
Definition: PuppiContainer.cc:224
PuppiContainer::fPtMaxNeutrals
double fPtMaxNeutrals
Definition: PuppiContainer.h:61
PuppiCandidate::eta
double eta
Definition: PuppiCandidate.h:6
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
testProducerWithPsetDescEmpty_cfi.i1
i1
Definition: testProducerWithPsetDescEmpty_cfi.py:45
ptMin
constexpr float ptMin
Definition: PhotonIDValueMapProducer.cc:153
SiStripPI::rms
Definition: SiStripPayloadInspectorHelper.h:169
PuppiContainer::fRecoParticles
const std::vector< RecoObj > * fRecoParticles
Definition: PuppiContainer.h:43
ecalTrigSettings_cff.particles
particles
Definition: ecalTrigSettings_cff.py:11
PuppiCandidate
Definition: PuppiCandidate.h:4
PuppiContainer::fRawAlphas
std::vector< double > fRawAlphas
Definition: PuppiContainer.h:49
PuppiContainer::fPFParticlesForVarChargedPV
std::vector< PuppiCandidate > fPFParticlesForVarChargedPV
Definition: PuppiContainer.h:46
trigObjTnPSource_cfi.var
var
Definition: trigObjTnPSource_cfi.py:21
PVValHelper::eta
Definition: PVValidationHelpers.h:69
PuppiContainer::fPtMaxPhotons
double fPtMaxPhotons
Definition: PuppiContainer.h:59
PuppiContainer::getPuppiId
int getPuppiId(float iPt, float iEta)
Definition: PuppiContainer.cc:207
PuppiContainer::goodVar
double goodVar(PuppiCandidate const &iPart, std::vector< PuppiCandidate > const &iParts, int iOpt, const double iRCone)
Definition: PuppiContainer.cc:79
PuppiAlgo
Definition: PuppiAlgo.h:10
PuppiContainer::fVals
std::vector< double > fVals
Definition: PuppiContainer.h:48
PuppiCandidate::id
int id
Definition: PuppiCandidate.h:10
PuppiContainer::fInvert
bool fInvert
Definition: PuppiContainer.h:54
PuppiContainer::fPuppiAlgo
std::vector< PuppiAlgo > fPuppiAlgo
Definition: PuppiContainer.h:65
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
PuppiContainer::fPuppiDiagnostics
bool fPuppiDiagnostics
Definition: PuppiContainer.h:42
PuppiContainer::getRawAlphas
void getRawAlphas(int iOpt, std::vector< PuppiCandidate > const &iConstits, std::vector< PuppiCandidate > const &iParticles, std::vector< PuppiCandidate > const &iChargeParticles)
Definition: PuppiContainer.cc:185
PuppiContainer::var_within_R
double var_within_R(int iId, const std::vector< PuppiCandidate > &particles, const PuppiCandidate &centre, const double R)
Definition: PuppiContainer.cc:86
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
PuppiContainer::fApplyCHS
bool fApplyCHS
Definition: PuppiContainer.h:53
reco::deltaR2
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:16
diffTwoXMLs.r2
r2
Definition: diffTwoXMLs.py:73
cand
Definition: decayParser.h:34
pfParticleNetPreprocessParams_cfi.median
median
Definition: pfParticleNetPreprocessParams_cfi.py:16
PuppiContainer::fAlphaRMS
std::vector< double > fAlphaRMS
Definition: PuppiContainer.h:51
PuppiCandidate::rapidity
double rapidity
Definition: PuppiCandidate.h:9
PuppiContainer::fAlphaMed
std::vector< double > fAlphaMed
Definition: PuppiContainer.h:50
PuppiContainer::fPFParticlesForVar
std::vector< PuppiCandidate > fPFParticlesForVar
Definition: PuppiContainer.h:45
PuppiContainer::fPUProxy
double fPUProxy
Definition: PuppiContainer.h:64
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
PuppiContainer::fEtaMaxPhotons
double fEtaMaxPhotons
Definition: PuppiContainer.h:60
PuppiContainer::fPFParticles
std::vector< PuppiCandidate > fPFParticles
Definition: PuppiContainer.h:44
PuppiContainer::fPtMaxNeutralsStartSlope
double fPtMaxNeutralsStartSlope
Definition: PuppiContainer.h:62
ALCARECOTkAlBeamHalo_cff.etaMax
etaMax
Definition: ALCARECOTkAlBeamHalo_cff.py:33
or
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
PuppiCandidate::phi
double phi
Definition: PuppiCandidate.h:7
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
PuppiContainer::fWeights
std::vector< double > fWeights
Definition: PuppiContainer.h:47
PuppiContainer::getRMSAvg
void getRMSAvg(int iOpt, std::vector< PuppiCandidate > const &iConstits, std::vector< PuppiCandidate > const &iParticles, std::vector< PuppiCandidate > const &iChargeParticles)
Definition: PuppiContainer.cc:129
reset
void reset(double vett[256])
Definition: TPedValues.cc:11
L1TowerCalibrationProducer_cfi.iEta
iEta
Definition: L1TowerCalibrationProducer_cfi.py:60
PuppiContainer::fUseExp
bool fUseExp
Definition: PuppiContainer.h:55
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::isFinite
constexpr bool isFinite(T x)
PuppiCandidate::m
double m
Definition: PuppiCandidate.h:8
dttmaxenums::R
Definition: DTTMax.h:29
PuppiContainer::fNAlgos
int fNAlgos
Definition: PuppiContainer.h:63
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37