CMS 3D CMS Logo

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

#include <PuppiAlgo.h>

Public Member Functions

void add (const fastjet::PseudoJet &iParticle, const double &iVal, const unsigned int iAlgo)
 
int algoId (unsigned int iAlgo) const
 
const std::vector< float > & alphas ()
 
double compute (std::vector< double > const &iVals, double iChi2) const
 
void computeMedRMS (const unsigned int &iAlgo, const double &iPVFrac)
 
double coneSize (unsigned int iAlgo) const
 
int etaBins () const
 
double etaMax (int i) const
 
double etaMin (int i) const
 
void fixAlgoEtaBin (int i_eta)
 
bool isCharged (unsigned int iAlgo) const
 
double median () const
 
double neutralPt (int iNPV) const
 
int numAlgos () const
 
double ptMin () const
 
 PuppiAlgo (edm::ParameterSet &iConfig)
 
void reset ()
 
double rms () const
 
 ~PuppiAlgo ()
 

Private Attributes

double cur_Med
 
double cur_NeutralPtMin
 
double cur_NeutralPtSlope
 
double cur_PtMin
 
double cur_RMS
 
std::vector< bool > fAdjust
 
std::vector< int > fAlgoId
 
std::vector< bool > fCharged
 
std::vector< int > fCombId
 
std::vector< double > fConeSize
 
std::vector< double > fEtaMax
 
double fEtaMaxExtrap
 
std::vector< double > fEtaMin
 
std::vector< double > fMean
 
std::vector< double > fMedEtaSF
 
std::vector< double > fMedian
 
std::vector< std::vector< double > > fMedian_perEta
 
unsigned int fNAlgos
 
std::vector< int > fNCount
 
std::vector< double > fNeutralPtMin
 
std::vector< double > fNeutralPtSlope
 
std::vector< double > fPtMin
 
std::vector< float > fPups
 
std::vector< float > fPupsPV
 
std::vector< double > fRMS
 
std::vector< std::vector< double > > fRMS_perEta
 
std::vector< double > fRMSEtaSF
 
std::vector< double > fRMSPtMin
 
std::vector< double > fRMSScaleFactor
 

Detailed Description

Definition at line 9 of file PuppiAlgo.h.

Constructor & Destructor Documentation

PuppiAlgo::PuppiAlgo ( edm::ParameterSet iConfig)

Definition at line 11 of file PuppiAlgo.cc.

References cur_Med, cur_NeutralPtMin, cur_NeutralPtSlope, cur_PtMin, cur_RMS, fAdjust, fAlgoId, fCharged, fCombId, fConeSize, fEtaMax, fEtaMaxExtrap, fEtaMin, fMean, fMedEtaSF, fMedian, fMedian_perEta, fNAlgos, fNCount, fNeutralPtMin, fNeutralPtSlope, fPtMin, fRMS, fRMS_perEta, fRMSEtaSF, fRMSPtMin, fRMSScaleFactor, and edm::ParameterSet::getParameter().

11  {
12  fEtaMin = iConfig.getParameter<std::vector< double > >("etaMin");
13  fEtaMax = iConfig.getParameter<std::vector< double > >("etaMax");
14  fPtMin = iConfig.getParameter<std::vector< double > >("ptMin");
15  fNeutralPtMin = iConfig.getParameter<std::vector< double > >("MinNeutralPt"); // Weighted Neutral Pt Cut
16  fNeutralPtSlope = iConfig.getParameter<std::vector< double > >("MinNeutralPtSlope"); // Slope vs #pv
17  fRMSEtaSF = iConfig.getParameter<std::vector< double > >("RMSEtaSF");
18  fMedEtaSF = iConfig.getParameter<std::vector< double > >("MedEtaSF");
19  fEtaMaxExtrap = iConfig.getParameter<double>("EtaMaxExtrap");
20 
21  std::vector<edm::ParameterSet> lAlgos = iConfig.getParameter<std::vector<edm::ParameterSet> >("puppiAlgos");
22  fNAlgos = lAlgos.size();
23  //Uber Configurable Puppi
24  std::vector<double> tmprms;
25  std::vector<double> tmpmed;
26 
27  for(unsigned int i0 = 0; i0 < lAlgos.size(); i0++) {
28  int pAlgoId = lAlgos[i0].getParameter<int > ("algoId");
29  bool pCharged = lAlgos[i0].getParameter<bool> ("useCharged");
30  bool pWeight0 = lAlgos[i0].getParameter<bool> ("applyLowPUCorr");
31  int pComb = lAlgos[i0].getParameter<int> ("combOpt"); // 0=> add in chi2/1=>Multiply p-values
32  double pConeSize = lAlgos[i0].getParameter<double>("cone"); // Min Pt when computing pt and rms
33  double pRMSPtMin = lAlgos[i0].getParameter<double>("rmsPtMin"); // Min Pt when computing pt and rms
34  double pRMSSF = lAlgos[i0].getParameter<double>("rmsScaleFactor"); // Additional Tuning parameter for Jokers
35  fAlgoId .push_back(pAlgoId);
36  fCharged .push_back(pCharged);
37  fAdjust .push_back(pWeight0);
38  fCombId .push_back(pComb);
39  fConeSize .push_back(pConeSize);
40  fRMSPtMin .push_back(pRMSPtMin);
41  fRMSScaleFactor.push_back(pRMSSF);
42  double pRMS = 0;
43  double pMed = 0;
44  double pMean = 0;
45  int pNCount = 0;
46  fRMS .push_back(pRMS);
47  fMedian.push_back(pMed);
48  fMean .push_back(pMean);
49  fNCount.push_back(pNCount);
50 
51  tmprms.clear();
52  tmpmed.clear();
53  for (unsigned int j0 = 0; j0 < fEtaMin.size(); j0++){
54  tmprms.push_back(pRMS);
55  tmpmed.push_back(pMed);
56  }
57  fRMS_perEta.push_back(tmprms);
58  fMedian_perEta.push_back(tmpmed);
59  }
60 
61  cur_PtMin = -99.;
62  cur_NeutralPtMin = -99.;
63  cur_NeutralPtSlope = -99.;
64  cur_RMS = -99.;
65  cur_Med = -99.;
66 }
T getParameter(std::string const &) const
double cur_PtMin
Definition: PuppiAlgo.h:48
std::vector< double > fEtaMin
Definition: PuppiAlgo.h:39
std::vector< bool > fAdjust
Definition: PuppiAlgo.h:63
std::vector< std::vector< double > > fMedian_perEta
Definition: PuppiAlgo.h:57
double cur_NeutralPtSlope
Definition: PuppiAlgo.h:50
std::vector< std::vector< double > > fRMS_perEta
Definition: PuppiAlgo.h:56
std::vector< double > fConeSize
Definition: PuppiAlgo.h:65
double cur_Med
Definition: PuppiAlgo.h:52
std::vector< double > fRMS
Definition: PuppiAlgo.h:54
std::vector< double > fNeutralPtMin
Definition: PuppiAlgo.h:41
double cur_NeutralPtMin
Definition: PuppiAlgo.h:49
std::vector< double > fMean
Definition: PuppiAlgo.h:68
std::vector< int > fAlgoId
Definition: PuppiAlgo.h:61
std::vector< double > fRMSPtMin
Definition: PuppiAlgo.h:66
std::vector< int > fCombId
Definition: PuppiAlgo.h:64
std::vector< double > fRMSScaleFactor
Definition: PuppiAlgo.h:67
std::vector< double > fPtMin
Definition: PuppiAlgo.h:40
std::vector< double > fRMSEtaSF
Definition: PuppiAlgo.h:44
std::vector< double > fNeutralPtSlope
Definition: PuppiAlgo.h:42
std::vector< double > fMedEtaSF
Definition: PuppiAlgo.h:45
std::vector< double > fEtaMax
Definition: PuppiAlgo.h:38
double fEtaMaxExtrap
Definition: PuppiAlgo.h:46
double cur_RMS
Definition: PuppiAlgo.h:51
std::vector< bool > fCharged
Definition: PuppiAlgo.h:62
unsigned int fNAlgos
Definition: PuppiAlgo.h:37
std::vector< int > fNCount
Definition: PuppiAlgo.h:69
std::vector< double > fMedian
Definition: PuppiAlgo.h:55
PuppiAlgo::~PuppiAlgo ( )

Definition at line 67 of file PuppiAlgo.cc.

References fPups, and fPupsPV.

67  {
68  fPups .clear();
69  fPupsPV.clear();
70 }
std::vector< float > fPupsPV
Definition: PuppiAlgo.h:60
std::vector< float > fPups
Definition: PuppiAlgo.h:59

Member Function Documentation

void PuppiAlgo::add ( const fastjet::PseudoJet &  iParticle,
const double &  iVal,
const unsigned int  iAlgo 
)

Definition at line 90 of file PuppiAlgo.cc.

References funct::abs(), Exception, fEtaMaxExtrap, fNCount, fPups, fPupsPV, fRMSPtMin, and PuppiContainer::PuppiUserInfo::puppi_register().

Referenced by counter.Counter::register(), SequenceTypes.Task::remove(), and SequenceTypes.Task::replace().

90  {
91  if(iParticle.pt() < fRMSPtMin[iAlgo]) return;
92  // Change from SRR : Previously used fastjet::PseudoJet::user_index to decide the particle type.
93  // In CMSSW we use the user_index to specify the index in the input collection, so I invented
94  // a new mechanism using the fastjet UserInfo functionality. Of course, it's still just an integer
95  // but that interface could be changed (or augmented) if desired / needed.
96  int puppi_register = std::numeric_limits<int>::lowest();
97  if ( iParticle.has_user_info() ) {
98  PuppiContainer::PuppiUserInfo const * pInfo = dynamic_cast<PuppiContainer::PuppiUserInfo const *>( iParticle.user_info_ptr() );
99  if ( pInfo != 0 ) {
100  puppi_register = pInfo->puppi_register();
101  }
102  }
103  if ( puppi_register == std::numeric_limits<int>::lowest() ) {
104  throw cms::Exception("PuppiRegisterNotSet") << "The puppi register is not set. This must be set before use.\n";
105  }
106 
108  // if(fCharged[iAlgo] && std::abs(puppi_register) < 1) return;
109  // if(fCharged[iAlgo] && (std::abs(puppi_register) >=1 && std::abs(puppi_register) <=2)) fPupsPV.push_back(iVal);
110  //if(fCharged[iAlgo] && std::abs(puppi_register) < 3) return;
112  // fPups.push_back(iVal); //original
113  // fNCount[iAlgo]++;
114 
115  // added by Nhan -- for all eta regions, compute mean/RMS from the central charged PU
116  //std::cout << "std::abs(puppi_register) = " << std::abs(puppi_register) << std::endl;
117  if ((std::abs(iParticle.eta()) < fEtaMaxExtrap) && (std::abs(puppi_register) >= 3)){
118  fPups.push_back(iVal);
119  // fPupsPV.push_back(iVal);
120  fNCount[iAlgo]++;
121  }
122  // for the low PU case, correction. for checking that the PU-only median will be below the PV particles
123  if(std::abs(iParticle.eta()) < fEtaMaxExtrap && (std::abs(puppi_register) >=1 && std::abs(puppi_register) <=2)) fPupsPV.push_back(iVal);
124 
125 }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< float > fPupsPV
Definition: PuppiAlgo.h:60
std::vector< float > fPups
Definition: PuppiAlgo.h:59
std::vector< double > fRMSPtMin
Definition: PuppiAlgo.h:66
double fEtaMaxExtrap
Definition: PuppiAlgo.h:46
std::vector< int > fNCount
Definition: PuppiAlgo.h:69
int PuppiAlgo::algoId ( unsigned int  iAlgo) const
inline

Definition at line 28 of file PuppiAlgo.h.

References fAlgoId.

28 { return fAlgoId.at(iAlgo); }
std::vector< int > fAlgoId
Definition: PuppiAlgo.h:61
const std::vector<float>& PuppiAlgo::alphas ( )
inline

Definition at line 20 of file PuppiAlgo.h.

References fPups.

20 { return fPups; }
std::vector< float > fPups
Definition: PuppiAlgo.h:59
double PuppiAlgo::compute ( std::vector< double > const &  iVals,
double  iChi2 
) const

Definition at line 194 of file PuppiAlgo.cc.

References cur_Med, cur_RMS, fAlgoId, fCombId, fNAlgos, and fNCount.

194  {
195 
196  if(fAlgoId[0] == -1) return 1;
197  double lVal = 0.;
198  double lPVal = 1.;
199  int lNDOF = 0;
200  for(unsigned int i0 = 0; i0 < fNAlgos; i0++) {
201  if(fNCount[i0] == 0) return 1.; //in the NoPU case return 1.
202  if(fCombId[i0] == 1 && i0 > 0) { //Compute the previous p-value so that p-values can be multiplieed
203  double pPVal = ROOT::Math::chisquared_cdf(lVal,lNDOF);
204  lPVal *= pPVal;
205  lNDOF = 0;
206  lVal = 0;
207  }
208  double pVal = iVals[i0];
209  //Special Check for any algo with log(0)
210  if(fAlgoId[i0] == 0 && iVals[i0] == 0) pVal = cur_Med;
211  if(fAlgoId[i0] == 3 && iVals[i0] == 0) pVal = cur_Med;
212  if(fAlgoId[i0] == 5 && iVals[i0] == 0) pVal = cur_Med;
213  lVal += (pVal-cur_Med)*(fabs(pVal-cur_Med))/cur_RMS/cur_RMS;
214  lNDOF++;
215  if(i0 == 0 && iChi2 != 0) lNDOF++; //Add external Chi2 to first element
216  if(i0 == 0 && iChi2 != 0) lVal+=iChi2; //Add external Chi2 to first element
217  }
218  //Top it off with the last calc
219  lPVal *= ROOT::Math::chisquared_cdf(lVal,lNDOF);
220  return lPVal;
221 
222 }
double cur_Med
Definition: PuppiAlgo.h:52
std::vector< int > fAlgoId
Definition: PuppiAlgo.h:61
std::vector< int > fCombId
Definition: PuppiAlgo.h:64
double cur_RMS
Definition: PuppiAlgo.h:51
unsigned int fNAlgos
Definition: PuppiAlgo.h:37
std::vector< int > fNCount
Definition: PuppiAlgo.h:69
void PuppiAlgo::computeMedRMS ( const unsigned int &  iAlgo,
const double &  iPVFrac 
)

Definition at line 130 of file PuppiAlgo.cc.

References MillePedeFileConverter_cfg::e, fAdjust, fEtaMin, fMean, fMedEtaSF, fMedian, fMedian_perEta, fNAlgos, fNCount, fPups, fPupsPV, fRMS, fRMS_perEta, fRMSEtaSF, fRMSScaleFactor, createfilelist::int, and mathSSE::sqrt().

130  {
131 
132  //std::cout << "fNCount[iAlgo] = " << fNCount[iAlgo] << std::endl;
133  if(iAlgo >= fNAlgos ) return;
134  if(fNCount[iAlgo] == 0) return;
135 
136  // sort alphas
137  int lNBefore = 0;
138  for(unsigned int i0 = 0; i0 < iAlgo; i0++) lNBefore += fNCount[i0];
139  std::sort(fPups.begin()+lNBefore,fPups.begin()+lNBefore+fNCount[iAlgo]);
140 
141  // in case you have alphas == 0
142  int lNum0 = 0;
143  for(int i0 = lNBefore; i0 < lNBefore+fNCount[iAlgo]; i0++) {
144  if(fPups[i0] == 0) lNum0 = i0-lNBefore;
145  }
146 
147  // comput median, removed lCorr for now
148  int lNHalfway = lNBefore + lNum0 + int( double( fNCount[iAlgo]-lNum0 )*0.50);
149  fMedian[iAlgo] = fPups[lNHalfway];
150  double lMed = fMedian[iAlgo]; //Just to make the readability easier
151 
152  int lNRMS = 0;
153  for(int i0 = lNBefore; i0 < lNBefore+fNCount[iAlgo]; i0++) {
154  fMean[iAlgo] += fPups[i0];
155  if(fPups[i0] == 0) continue;
156  // if(!fCharged[iAlgo] && fAdjust[iAlgo] && fPups[i0] > lMed) continue;
157  if(fAdjust[iAlgo] && fPups[i0] > lMed) continue;
158  lNRMS++;
159  fRMS [iAlgo] += (fPups[i0]-lMed)*(fPups[i0]-lMed);
160  }
161  fMean[iAlgo]/=fNCount[iAlgo];
162  if(lNRMS > 0) fRMS [iAlgo]/=lNRMS;
163  if(fRMS[iAlgo] == 0) fRMS[iAlgo] = 1e-5;
164  // here is the raw RMS
165  fRMS [iAlgo] = sqrt(fRMS[iAlgo]);
166 
167  // some ways to do corrections to fRMS and fMedian
168  fRMS [iAlgo] *= fRMSScaleFactor[iAlgo];
169 
170  if(fAdjust[iAlgo]){
171  //Adjust the p-value to correspond to the median
172  std::sort(fPupsPV.begin(),fPupsPV.end());
173  int lNPV = 0;
174  for(unsigned int i0 = 0; i0 < fPupsPV.size(); i0++) if(fPupsPV[i0] <= lMed ) lNPV++;
175  double lAdjust = double(lNPV)/double(lNPV+0.5*fNCount[iAlgo]);
176  if(lAdjust > 0) {
177  fMedian[iAlgo] -= sqrt(ROOT::Math::chisquared_quantile(lAdjust,1.)*fRMS[iAlgo]);
178  fRMS[iAlgo] -= sqrt(ROOT::Math::chisquared_quantile(lAdjust,1.)*fRMS[iAlgo]);
179  }
180  }
181 
182  // fRMS_perEta[iAlgo] *= cur_RMSEtaSF;
183  // fMedian_perEta[iAlgo] *= cur_MedEtaSF;
184 
185  for (unsigned int j0 = 0; j0 < fEtaMin.size(); j0++){
186  fRMS_perEta[iAlgo][j0] = fRMS[iAlgo]*fRMSEtaSF[j0];
187  fMedian_perEta[iAlgo][j0] = fMedian[iAlgo]*fMedEtaSF[j0];
188  }
189 
190 }
std::vector< double > fEtaMin
Definition: PuppiAlgo.h:39
std::vector< bool > fAdjust
Definition: PuppiAlgo.h:63
std::vector< std::vector< double > > fMedian_perEta
Definition: PuppiAlgo.h:57
std::vector< std::vector< double > > fRMS_perEta
Definition: PuppiAlgo.h:56
T sqrt(T t)
Definition: SSEVec.h:18
std::vector< double > fRMS
Definition: PuppiAlgo.h:54
std::vector< float > fPupsPV
Definition: PuppiAlgo.h:60
std::vector< float > fPups
Definition: PuppiAlgo.h:59
std::vector< double > fMean
Definition: PuppiAlgo.h:68
std::vector< double > fRMSScaleFactor
Definition: PuppiAlgo.h:67
std::vector< double > fRMSEtaSF
Definition: PuppiAlgo.h:44
std::vector< double > fMedEtaSF
Definition: PuppiAlgo.h:45
unsigned int fNAlgos
Definition: PuppiAlgo.h:37
std::vector< int > fNCount
Definition: PuppiAlgo.h:69
std::vector< double > fMedian
Definition: PuppiAlgo.h:55
double PuppiAlgo::coneSize ( unsigned int  iAlgo) const
inline

Definition at line 30 of file PuppiAlgo.h.

References fConeSize.

30 { return fConeSize.at(iAlgo); }
std::vector< double > fConeSize
Definition: PuppiAlgo.h:65
int PuppiAlgo::etaBins ( ) const
inline

Definition at line 22 of file PuppiAlgo.h.

References fEtaMin.

22 {return fEtaMin.size(); }
std::vector< double > fEtaMin
Definition: PuppiAlgo.h:39
double PuppiAlgo::etaMax ( int  i) const
inline

Definition at line 24 of file PuppiAlgo.h.

References fEtaMax, and mps_fire::i.

24 { return fEtaMax[i]; }
std::vector< double > fEtaMax
Definition: PuppiAlgo.h:38
double PuppiAlgo::etaMin ( int  i) const
inline

Definition at line 23 of file PuppiAlgo.h.

References fEtaMin, and mps_fire::i.

23 { return fEtaMin[i]; }
std::vector< double > fEtaMin
Definition: PuppiAlgo.h:39
void PuppiAlgo::fixAlgoEtaBin ( int  i_eta)

Definition at line 82 of file PuppiAlgo.cc.

References cur_Med, cur_NeutralPtMin, cur_NeutralPtSlope, cur_PtMin, cur_RMS, fMedian_perEta, fNeutralPtMin, fNeutralPtSlope, fPtMin, and fRMS_perEta.

82  {
83  cur_PtMin = fPtMin[i_eta];
86  cur_RMS = fRMS_perEta[0][i_eta]; // 0 is number of algos within this eta bin
87  cur_Med = fMedian_perEta[0][i_eta]; // 0 is number of algos within this eta bin
88 }
double cur_PtMin
Definition: PuppiAlgo.h:48
std::vector< std::vector< double > > fMedian_perEta
Definition: PuppiAlgo.h:57
double cur_NeutralPtSlope
Definition: PuppiAlgo.h:50
std::vector< std::vector< double > > fRMS_perEta
Definition: PuppiAlgo.h:56
double cur_Med
Definition: PuppiAlgo.h:52
std::vector< double > fNeutralPtMin
Definition: PuppiAlgo.h:41
double cur_NeutralPtMin
Definition: PuppiAlgo.h:49
std::vector< double > fPtMin
Definition: PuppiAlgo.h:40
std::vector< double > fNeutralPtSlope
Definition: PuppiAlgo.h:42
double cur_RMS
Definition: PuppiAlgo.h:51
bool PuppiAlgo::isCharged ( unsigned int  iAlgo) const
inline

Definition at line 29 of file PuppiAlgo.h.

References fCharged.

29 { return fCharged.at(iAlgo); }
std::vector< bool > fCharged
Definition: PuppiAlgo.h:62
double PuppiAlgo::median ( ) const
inline

Definition at line 34 of file PuppiAlgo.h.

References cur_Med.

34 {return cur_Med;}
double cur_Med
Definition: PuppiAlgo.h:52
double PuppiAlgo::neutralPt ( int  iNPV) const
inline

Definition at line 31 of file PuppiAlgo.h.

References cur_NeutralPtMin, and cur_NeutralPtSlope.

31 { return cur_NeutralPtMin + iNPV * cur_NeutralPtSlope; }
double cur_NeutralPtSlope
Definition: PuppiAlgo.h:50
double cur_NeutralPtMin
Definition: PuppiAlgo.h:49
int PuppiAlgo::numAlgos ( ) const
inline

Definition at line 27 of file PuppiAlgo.h.

References fNAlgos.

27 { return fNAlgos;}
unsigned int fNAlgos
Definition: PuppiAlgo.h:37
double PuppiAlgo::ptMin ( ) const
inline

Definition at line 25 of file PuppiAlgo.h.

References cur_PtMin.

25 { return cur_PtMin; }
double cur_PtMin
Definition: PuppiAlgo.h:48
void PuppiAlgo::reset ( void  )

Definition at line 71 of file PuppiAlgo.cc.

References fMean, fMedian, fNAlgos, fNCount, fPups, fPupsPV, and fRMS.

Referenced by MatrixReader.MatrixReader::__init__(), data_sources.json_list::next(), and MatrixReader.MatrixReader::showRaw().

71  {
72  fPups .clear();
73  fPupsPV.clear();
74  for(unsigned int i0 = 0; i0 < fNAlgos; i0++) {
75  fMedian[i0] = 0;
76  fRMS [i0] = 0;
77  fMean [i0] = 0;
78  fNCount[i0] = 0;
79  }
80 }
std::vector< double > fRMS
Definition: PuppiAlgo.h:54
std::vector< float > fPupsPV
Definition: PuppiAlgo.h:60
std::vector< float > fPups
Definition: PuppiAlgo.h:59
std::vector< double > fMean
Definition: PuppiAlgo.h:68
unsigned int fNAlgos
Definition: PuppiAlgo.h:37
std::vector< int > fNCount
Definition: PuppiAlgo.h:69
std::vector< double > fMedian
Definition: PuppiAlgo.h:55
double PuppiAlgo::rms ( ) const
inline

Definition at line 33 of file PuppiAlgo.h.

References cur_RMS.

33 {return cur_RMS;}
double cur_RMS
Definition: PuppiAlgo.h:51

Member Data Documentation

double PuppiAlgo::cur_Med
private

Definition at line 52 of file PuppiAlgo.h.

Referenced by compute(), fixAlgoEtaBin(), median(), and PuppiAlgo().

double PuppiAlgo::cur_NeutralPtMin
private

Definition at line 49 of file PuppiAlgo.h.

Referenced by fixAlgoEtaBin(), neutralPt(), and PuppiAlgo().

double PuppiAlgo::cur_NeutralPtSlope
private

Definition at line 50 of file PuppiAlgo.h.

Referenced by fixAlgoEtaBin(), neutralPt(), and PuppiAlgo().

double PuppiAlgo::cur_PtMin
private

Definition at line 48 of file PuppiAlgo.h.

Referenced by fixAlgoEtaBin(), ptMin(), and PuppiAlgo().

double PuppiAlgo::cur_RMS
private

Definition at line 51 of file PuppiAlgo.h.

Referenced by compute(), fixAlgoEtaBin(), PuppiAlgo(), and rms().

std::vector<bool> PuppiAlgo::fAdjust
private

Definition at line 63 of file PuppiAlgo.h.

Referenced by computeMedRMS(), and PuppiAlgo().

std::vector<int> PuppiAlgo::fAlgoId
private

Definition at line 61 of file PuppiAlgo.h.

Referenced by algoId(), compute(), and PuppiAlgo().

std::vector<bool> PuppiAlgo::fCharged
private

Definition at line 62 of file PuppiAlgo.h.

Referenced by isCharged(), and PuppiAlgo().

std::vector<int> PuppiAlgo::fCombId
private

Definition at line 64 of file PuppiAlgo.h.

Referenced by compute(), and PuppiAlgo().

std::vector<double> PuppiAlgo::fConeSize
private

Definition at line 65 of file PuppiAlgo.h.

Referenced by coneSize(), and PuppiAlgo().

std::vector<double> PuppiAlgo::fEtaMax
private

Definition at line 38 of file PuppiAlgo.h.

Referenced by etaMax(), and PuppiAlgo().

double PuppiAlgo::fEtaMaxExtrap
private

Definition at line 46 of file PuppiAlgo.h.

Referenced by add(), and PuppiAlgo().

std::vector<double> PuppiAlgo::fEtaMin
private

Definition at line 39 of file PuppiAlgo.h.

Referenced by computeMedRMS(), etaBins(), etaMin(), and PuppiAlgo().

std::vector<double> PuppiAlgo::fMean
private

Definition at line 68 of file PuppiAlgo.h.

Referenced by computeMedRMS(), PuppiAlgo(), and reset().

std::vector<double> PuppiAlgo::fMedEtaSF
private

Definition at line 45 of file PuppiAlgo.h.

Referenced by computeMedRMS(), and PuppiAlgo().

std::vector<double> PuppiAlgo::fMedian
private

Definition at line 55 of file PuppiAlgo.h.

Referenced by computeMedRMS(), PuppiAlgo(), and reset().

std::vector< std::vector<double> > PuppiAlgo::fMedian_perEta
private

Definition at line 57 of file PuppiAlgo.h.

Referenced by computeMedRMS(), fixAlgoEtaBin(), and PuppiAlgo().

unsigned int PuppiAlgo::fNAlgos
private

Definition at line 37 of file PuppiAlgo.h.

Referenced by compute(), computeMedRMS(), numAlgos(), PuppiAlgo(), and reset().

std::vector<int> PuppiAlgo::fNCount
private

Definition at line 69 of file PuppiAlgo.h.

Referenced by add(), compute(), computeMedRMS(), PuppiAlgo(), and reset().

std::vector<double> PuppiAlgo::fNeutralPtMin
private

Definition at line 41 of file PuppiAlgo.h.

Referenced by fixAlgoEtaBin(), and PuppiAlgo().

std::vector<double> PuppiAlgo::fNeutralPtSlope
private

Definition at line 42 of file PuppiAlgo.h.

Referenced by fixAlgoEtaBin(), and PuppiAlgo().

std::vector<double> PuppiAlgo::fPtMin
private

Definition at line 40 of file PuppiAlgo.h.

Referenced by fixAlgoEtaBin(), and PuppiAlgo().

std::vector<float> PuppiAlgo::fPups
private

Definition at line 59 of file PuppiAlgo.h.

Referenced by add(), alphas(), computeMedRMS(), reset(), and ~PuppiAlgo().

std::vector<float> PuppiAlgo::fPupsPV
private

Definition at line 60 of file PuppiAlgo.h.

Referenced by add(), computeMedRMS(), reset(), and ~PuppiAlgo().

std::vector<double> PuppiAlgo::fRMS
private

Definition at line 54 of file PuppiAlgo.h.

Referenced by computeMedRMS(), PuppiAlgo(), and reset().

std::vector< std::vector<double> > PuppiAlgo::fRMS_perEta
private

Definition at line 56 of file PuppiAlgo.h.

Referenced by computeMedRMS(), fixAlgoEtaBin(), and PuppiAlgo().

std::vector<double> PuppiAlgo::fRMSEtaSF
private

Definition at line 44 of file PuppiAlgo.h.

Referenced by computeMedRMS(), and PuppiAlgo().

std::vector<double> PuppiAlgo::fRMSPtMin
private

Definition at line 66 of file PuppiAlgo.h.

Referenced by add(), and PuppiAlgo().

std::vector<double> PuppiAlgo::fRMSScaleFactor
private

Definition at line 67 of file PuppiAlgo.h.

Referenced by computeMedRMS(), and PuppiAlgo().