Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-06-10 01:53:51

0001 #ifndef L1Trigger_Phase2L1ParticleFlow_LinearizedPuppiAlgo_h
0002 #define L1Trigger_Phase2L1ParticleFlow_LinearizedPuppiAlgo_h
0003 
0004 #include "L1Trigger/Phase2L1ParticleFlow/interface/PuppiAlgo.h"
0005 
0006 namespace l1tpf_impl {
0007 
0008   class LinearizedPuppiAlgo : public PuppiAlgo {
0009   public:
0010     LinearizedPuppiAlgo(const edm::ParameterSet &);
0011     ~LinearizedPuppiAlgo() override;
0012 
0013     const std::vector<std::string> &puGlobalNames() const override;
0014     void doPUGlobals(const std::vector<Region> &rs, float z0, float npu, std::vector<float> &globals) const override;
0015     void runNeutralsPU(Region &r, float z0, float npu, const std::vector<float> &globals) const override;
0016 
0017   protected:
0018     void computePuppiWeights(Region &r,
0019                              float npu,
0020                              const std::vector<float> &alphaC,
0021                              const std::vector<float> &alphaF) const;
0022 
0023     std::vector<float> puppiPriors_, puppiPriorsPhotons_;
0024     std::vector<float> puppiPtSlopes_, puppiPtSlopesPhotons_;
0025     std::vector<float> puppiPtZeros_, puppiPtZerosPhotons_;
0026     std::vector<float> puppiAlphaSlopes_, puppiAlphaSlopesPhotons_;
0027     std::vector<float> puppiAlphaZeros_, puppiAlphaZerosPhotons_;
0028     std::vector<float> puppiAlphaCrops_, puppiAlphaCropsPhotons_;
0029   };
0030 
0031 }  // namespace l1tpf_impl
0032 
0033 #endif