[ee0763a] | 1 | #include "PuppiAlgo.hh"
|
---|
| 2 | #include "RecoObj2.hh"
|
---|
| 3 | //#include "external/fastjet/internal/base.hh"
|
---|
| 4 | #include "external/fastjet/PseudoJet.hh"
|
---|
| 5 | #include <vector>
|
---|
| 6 |
|
---|
| 7 | using namespace std;
|
---|
| 8 |
|
---|
| 9 | class PuppiContainer{
|
---|
| 10 | public:
|
---|
| 11 | //PuppiContainer(const edm::ParameterSet &iConfig);
|
---|
| 12 | PuppiContainer(const std::string &iConfig);
|
---|
| 13 | PuppiContainer(bool iApplyCHS, bool iUseExp,double iPuppiWeightCut,std::vector<AlgoObj> &iAlgos);
|
---|
| 14 | ~PuppiContainer();
|
---|
| 15 | void initialize(const std::vector<RecoObj> &iRecoObjects);
|
---|
| 16 | std::vector<fastjet::PseudoJet> pfParticles(){ return fPFParticles; }
|
---|
| 17 | std::vector<fastjet::PseudoJet> pvParticles(){ return fChargedPV; }
|
---|
| 18 | const std::vector<double> puppiWeights();
|
---|
| 19 | std::vector<fastjet::PseudoJet> puppiParticles() { return fPupParticles;}
|
---|
| 20 |
|
---|
| 21 | protected:
|
---|
| 22 | double goodVar (fastjet::PseudoJet &iPart,std::vector<fastjet::PseudoJet> &iParts, int iOpt,double iRCone);
|
---|
| 23 | void getRMSAvg (int iOpt,std::vector<fastjet::PseudoJet> &iConstits,std::vector<fastjet::PseudoJet> &iParticles,std::vector<fastjet::PseudoJet> &iChargeParticles);
|
---|
| 24 | double getChi2FromdZ(double iDZ);
|
---|
| 25 | int getPuppiId (const float &iPt,const float &iEta);
|
---|
| 26 | double var_within_R (int iId, const std::vector<fastjet::PseudoJet> & particles, const fastjet::PseudoJet& centre, double R);
|
---|
| 27 |
|
---|
| 28 | std::vector<RecoObj> fRecoParticles;
|
---|
| 29 | std::vector<fastjet::PseudoJet> fPFParticles;
|
---|
| 30 | std::vector<fastjet::PseudoJet> fChargedPV;
|
---|
| 31 | std::vector<fastjet::PseudoJet> fPupParticles;
|
---|
| 32 | std::vector<double> fWeights;
|
---|
| 33 | std::vector<double> fVals;
|
---|
| 34 | bool fApplyCHS;
|
---|
| 35 | bool fUseExp;
|
---|
| 36 | double fNeutralMinPt;
|
---|
| 37 | double fNeutralSlope;
|
---|
| 38 | double fPuppiWeightCut;
|
---|
| 39 | int fNAlgos;
|
---|
| 40 | int fNPV;
|
---|
| 41 | double fPVFrac;
|
---|
| 42 | std::vector<PuppiAlgo> fPuppiAlgo;
|
---|
| 43 | };
|
---|
| 44 |
|
---|
| 45 |
|
---|