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(std::vector<std::vector<std::vector<l1ct::PuppiObjEmu>>> in,
29  std::vector<l1ct::PuppiObjEmu> &out,
30  std::vector<l1ct::PuppiObjEmu> &truncated);
31 
32  private:
34  bool debug_;
35 
36  static std::vector<l1ct::PuppiObjEmu> mergeXtoY(const unsigned int X,
37  const unsigned int Y,
38  const std::vector<l1ct::PuppiObjEmu> &inLeft,
39  const std::vector<l1ct::PuppiObjEmu> &inRight);
40 
41  static std::vector<l1ct::PuppiObjEmu> mergeXtoY(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
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)
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.
void run(std::vector< std::vector< std::vector< l1ct::PuppiObjEmu >>> in, std::vector< l1ct::PuppiObjEmu > &out, std::vector< l1ct::PuppiObjEmu > &truncated)
Definition: datatypes.h:17