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 |
|
---|