CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EcalFenixTcp.h
Go to the documentation of this file.
1 #ifndef ECAL_FENIX_TCP_H
2 #define ECAL_FENIX_TCP_H
3 
11 
12 
16 
18 
19 #include <vector>
20 #include <iostream>
21 
23 class EcalTPGLutGroup;
24 class EcalTPGLutIdMap;
27 class EcalTrigTowerDetId;
28 class EcalTPGTowerStatus;
29 
34 class EcalFenixTcp {
35 
36  private:
37  bool debug_;
38 
40 
42  std::vector<EcalFenixBypassLin *> bypasslin_;
47 
49 
50  // permanent data structures
51  std::vector<std::vector<int> > bypasslin_out_;
52  std::vector<int> adder_out_;
53  std::vector<int> maxOf2_out_;
54  std::vector<int> fgvb_out_;
55  std::vector<int> strip_fgvb_out_;
56 
57  public:
58  // temporary, for timing tests
59  void setPointers( const EcalTPGFineGrainEBGroup * ecaltpgFgEBGroup,
60  const EcalTPGLutGroup * ecaltpgLutGroup,
61  const EcalTPGLutIdMap * ecaltpgLut,
62  const EcalTPGFineGrainEBIdMap * ecaltpgFineGrainEB,
63  const EcalTPGFineGrainTowerEE * ecaltpgFineGrainTowerEE,
64  const EcalTPGTowerStatus * ecaltpgBadTT,
65  const EcalTPGSpike * ecaltpgSpike)
66  {
67  ecaltpgFgEBGroup_=ecaltpgFgEBGroup;
68  ecaltpgLutGroup_=ecaltpgLutGroup;
69  ecaltpgLut_=ecaltpgLut;
70  ecaltpgFineGrainEB_=ecaltpgFineGrainEB;
71  ecaltpgFineGrainTowerEE_=ecaltpgFineGrainTowerEE;
72  ecaltpgBadTT_=ecaltpgBadTT;
73  ecaltpgSpike_=ecaltpgSpike;
74  }
75  // end temporary, for timing tests
76 
77  EcalFenixTcp(const edm::EventSetup & setup, bool tcpFormat, bool debug, bool famos, int binOfMax, int maxNrSamples,int nbMaxStrips);
78  virtual ~EcalFenixTcp() ;
79 
80  void process(const edm::EventSetup & setup,
81  std::vector <EBDataFrame> &bid, //dummy argument for template call
82  std::vector<std::vector<int> > & tpframetow, int nStr,
83  std::vector< EcalTriggerPrimitiveSample> & tptow,
84  std::vector< EcalTriggerPrimitiveSample> & tptow2,
85  bool isInInnerRings, EcalTrigTowerDetId thisTower);
86  void process(const edm::EventSetup & setup,
87  std::vector <EEDataFrame> &bid, //dummy argument for template call
88  std::vector<std::vector<int> > & tpframetow, int nStr,
89  std::vector< EcalTriggerPrimitiveSample> & tptow,
90  std::vector< EcalTriggerPrimitiveSample> & tptow2,
91  bool isInInnerRings, EcalTrigTowerDetId thisTower);
92 
93  void process_part1(std::vector<std::vector<int> > &tpframetow, int nStr,int bitMask);
94 
95  void process_part2_barrel(std::vector<std::vector<int> > &, int nStr,int bitMask,
96  const EcalTPGFineGrainEBGroup *ecaltpgFgEBGroup,
97  const EcalTPGLutGroup*ecaltpgLutGroup,
98  const EcalTPGLutIdMap *ecaltpgLut,
99  const EcalTPGFineGrainEBIdMap *ecaltpgFineGrainEB,
100  const EcalTPGTowerStatus *ecaltpgBadTT,
101  const EcalTPGSpike * ecaltpgSpike,
102  std::vector< EcalTriggerPrimitiveSample> &tptow,
103  std::vector< EcalTriggerPrimitiveSample> &tptow2,
104  EcalTrigTowerDetId towid);
105 
106  void process_part2_endcap(std::vector<std::vector<int> > &, int nStr,int bitMask,
107  const EcalTPGLutGroup *ecaltpgLutGroup,
108  const EcalTPGLutIdMap *ecaltpgLut,
109  const EcalTPGFineGrainTowerEE *ecaltpgFineGrainTowerEE,
110  const EcalTPGTowerStatus *ecaltpgBadTT,
111  std::vector< EcalTriggerPrimitiveSample> &tptow,
112  std::vector< EcalTriggerPrimitiveSample> &tptow2,bool isInInnerRings,
113  EcalTrigTowerDetId towid);
114 
115 
117  EcalFenixEtTot *getAdder() const { return adder_;}
118  EcalFenixMaxof2 *getMaxOf2() const {return maxOf2_;}
120  EcalFenixFgvbEB *getFGVBEB() const {return fgvbEB_;}
123 
131 };
132 
133 
134 #endif
int i
Definition: DBlmapReader.cc:9
const EcalTPGFineGrainEBIdMap * ecaltpgFineGrainEB_
Definition: EcalFenixTcp.h:127
class for calculation of Et for Fenix tcp calculates the sum
EcalFenixTcpsFgvbEB * sfgvbEB_
Definition: EcalFenixTcp.h:46
EcalFenixMaxof2 * maxOf2_
Definition: EcalFenixTcp.h:41
EcalFenixTcpFormat * formatter_
Definition: EcalFenixTcp.h:48
calculation of Fgvb for Fenix Tcp, format barrel calculates fgvb for the barrel
EcalFenixFgvbEB * getFGVBEB() const
Definition: EcalFenixTcp.h:120
EcalFenixMaxof2 * getMaxOf2() const
Definition: EcalFenixTcp.h:118
virtual ~EcalFenixTcp()
Definition: EcalFenixTcp.cc:36
const EcalTPGSpike * ecaltpgSpike_
Definition: EcalFenixTcp.h:130
EcalFenixTcpFgvbEE * getFGVBEE() const
Definition: EcalFenixTcp.h:121
EcalFenixBypassLin * getBypasslin(int i) const
Definition: EcalFenixTcp.h:116
std::vector< int > fgvb_out_
Definition: EcalFenixTcp.h:54
const EcalTPGTowerStatus * ecaltpgBadTT_
Definition: EcalFenixTcp.h:129
EcalFenixTcpFgvbEE * fgvbEE_
Definition: EcalFenixTcp.h:45
std::vector< EcalFenixBypassLin * > bypasslin_
Definition: EcalFenixTcp.h:42
const EcalTPGFineGrainEBGroup * ecaltpgFgEBGroup_
Definition: EcalFenixTcp.h:124
void process_part2_barrel(std::vector< std::vector< int > > &, int nStr, int bitMask, const EcalTPGFineGrainEBGroup *ecaltpgFgEBGroup, const EcalTPGLutGroup *ecaltpgLutGroup, const EcalTPGLutIdMap *ecaltpgLut, const EcalTPGFineGrainEBIdMap *ecaltpgFineGrainEB, const EcalTPGTowerStatus *ecaltpgBadTT, const EcalTPGSpike *ecaltpgSpike, std::vector< EcalTriggerPrimitiveSample > &tptow, std::vector< EcalTriggerPrimitiveSample > &tptow2, EcalTrigTowerDetId towid)
void setPointers(const EcalTPGFineGrainEBGroup *ecaltpgFgEBGroup, const EcalTPGLutGroup *ecaltpgLutGroup, const EcalTPGLutIdMap *ecaltpgLut, const EcalTPGFineGrainEBIdMap *ecaltpgFineGrainEB, const EcalTPGFineGrainTowerEE *ecaltpgFineGrainTowerEE, const EcalTPGTowerStatus *ecaltpgBadTT, const EcalTPGSpike *ecaltpgSpike)
Definition: EcalFenixTcp.h:59
const EcalTPGLutIdMap * ecaltpgLut_
Definition: EcalFenixTcp.h:126
void process_part1(std::vector< std::vector< int > > &tpframetow, int nStr, int bitMask)
Definition: EcalFenixTcp.cc:75
const EcalTPGFineGrainTowerEE * ecaltpgFineGrainTowerEE_
Definition: EcalFenixTcp.h:128
EcalFenixTcpsFgvbEB * getsFGVBEB() const
Definition: EcalFenixTcp.h:122
EcalFenixEtTot * getAdder() const
Definition: EcalFenixTcp.h:117
void process_part2_endcap(std::vector< std::vector< int > > &, int nStr, int bitMask, const EcalTPGLutGroup *ecaltpgLutGroup, const EcalTPGLutIdMap *ecaltpgLut, const EcalTPGFineGrainTowerEE *ecaltpgFineGrainTowerEE, const EcalTPGTowerStatus *ecaltpgBadTT, std::vector< EcalTriggerPrimitiveSample > &tptow, std::vector< EcalTriggerPrimitiveSample > &tptow2, bool isInInnerRings, EcalTrigTowerDetId towid)
EcalFenixFgvbEB * fgvbEB_
Definition: EcalFenixTcp.h:44
#define debug
Definition: HDRShower.cc:19
calculation of Fgvb for Fenix Tcp, format endcap calculates fgvb for the endcap
std::vector< int > maxOf2_out_
Definition: EcalFenixTcp.h:53
std::vector< int > strip_fgvb_out_
Definition: EcalFenixTcp.h:55
EcalFenixTcpFormat * getFormatter() const
Definition: EcalFenixTcp.h:119
class representing the Fenix chip, format strip
Definition: EcalFenixTcp.h:34
const EcalTPGLutGroup * ecaltpgLutGroup_
Definition: EcalFenixTcp.h:125
void process(const edm::EventSetup &setup, std::vector< EBDataFrame > &bid, std::vector< std::vector< int > > &tpframetow, int nStr, std::vector< EcalTriggerPrimitiveSample > &tptow, std::vector< EcalTriggerPrimitiveSample > &tptow2, bool isInInnerRings, EcalTrigTowerDetId thisTower)
Definition: EcalFenixTcp.cc:46
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
std::vector< std::vector< int > > bypasslin_out_
Definition: EcalFenixTcp.h:51
EcalFenixEtTot * adder_
Definition: EcalFenixTcp.h:43
std::vector< int > adder_out_
Definition: EcalFenixTcp.h:52
EcalFenixTcp(const edm::EventSetup &setup, bool tcpFormat, bool debug, bool famos, int binOfMax, int maxNrSamples, int nbMaxStrips)
Definition: EcalFenixTcp.cc:14
Linearisation for Tcp input: 16 bits output: 12 bits +1 going to fgvb (???)
calculation of strip Fgvb for Fenix Tcp, format barrel calculates fgvb for the barrel ...