CMS 3D CMS Logo

deregionizer_ref.h
Go to the documentation of this file.
1 #ifndef L1Trigger_Phase2L1ParticleFlow_deregionizer_ref_h
2 #define L1Trigger_Phase2L1ParticleFlow_deregionizer_ref_h
3 
4 #include <vector>
5 #include "deregionizer_input.h"
6 
7 namespace edm {
8  class ParameterSet;
9 }
10 
11 namespace l1ct {
12 
14  public:
15  DeregionizerEmulator(const unsigned int nPuppiFinalBuffer = 128,
16  const unsigned int nPuppiPerClk = 6,
17  const unsigned int nPuppiFirstBuffers = 12,
18  const unsigned int nPuppiSecondBuffers = 32,
19  const unsigned int nPuppiThirdBuffers = 64);
20 
21  // note: this one will work only in CMSSW
23 
25 
26  void setDebug(bool debug = true) { debug_ = debug; }
27 
28  void run(const DeregionizerInput in,
29  std::vector<l1ct::PuppiObjEmu> &out,
30  std::vector<l1ct::PuppiObjEmu> &truncated);
31 
32  std::vector<std::vector<l1ct::PuppiObjEmu> > splitPFregions(
33  const std::vector<std::vector<std::vector<l1ct::PuppiObjEmu> > > &regionPuppis, const int i, const int j);
34 
35  private:
37  bool debug_;
38 
39  static std::vector<l1ct::PuppiObjEmu> mergeXtoY(const unsigned int X,
40  const unsigned int Y,
41  const std::vector<l1ct::PuppiObjEmu> &inLeft,
42  const std::vector<l1ct::PuppiObjEmu> &inRight);
43 
44  static void accumulateToY(const unsigned int Y,
45  const std::vector<l1ct::PuppiObjEmu> &in,
46  std::vector<l1ct::PuppiObjEmu> &out,
47  std::vector<l1ct::PuppiObjEmu> &truncated);
48  };
49 
50 } // namespace l1ct
51 
52 #endif
#define X(str)
Definition: MuonsGrabber.cc:38
std::vector< std::vector< l1ct::PuppiObjEmu > > splitPFregions(const std::vector< std::vector< std::vector< l1ct::PuppiObjEmu > > > &regionPuppis, const int i, const int j)
DeregionizerEmulator(const unsigned int nPuppiFinalBuffer=128, const unsigned int nPuppiPerClk=6, const unsigned int nPuppiFirstBuffers=12, const unsigned int nPuppiSecondBuffers=32, const unsigned int nPuppiThirdBuffers=64)
void setDebug(bool debug=true)
void run(const DeregionizerInput in, std::vector< l1ct::PuppiObjEmu > &out, std::vector< l1ct::PuppiObjEmu > &truncated)
static std::vector< l1ct::PuppiObjEmu > mergeXtoY(const unsigned int X, const unsigned int Y, const std::vector< l1ct::PuppiObjEmu > &inLeft, const std::vector< l1ct::PuppiObjEmu > &inRight)
static void accumulateToY(const unsigned int Y, const std::vector< l1ct::PuppiObjEmu > &in, std::vector< l1ct::PuppiObjEmu > &out, std::vector< l1ct::PuppiObjEmu > &truncated)
#define debug
Definition: HDRShower.cc:19
HLT enums.
Definition: datatypes.h:19