CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes | Private Attributes
EcalFenixTcp Class Reference

class representing the Fenix chip, format strip More...

#include <EcalFenixTcp.h>

Public Member Functions

 EcalFenixTcp (const edm::EventSetup &setup, bool tcpFormat, bool debug, bool famos, int binOfMax, int maxNrSamples, int nbMaxStrips)
 
EcalFenixEtTotgetAdder () const
 
EcalFenixBypassLingetBypasslin (int i) const
 
EcalFenixFgvbEBgetFGVBEB () const
 
EcalFenixTcpFgvbEEgetFGVBEE () const
 
EcalFenixTcpFormatgetFormatter () const
 
EcalFenixMaxof2getMaxOf2 () const
 
EcalFenixTcpsFgvbEBgetsFGVBEB () const
 
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)
 
void process (const edm::EventSetup &setup, std::vector< EEDataFrame > &bid, std::vector< std::vector< int > > &tpframetow, int nStr, std::vector< EcalTriggerPrimitiveSample > &tptow, std::vector< EcalTriggerPrimitiveSample > &tptow2, bool isInInnerRings, EcalTrigTowerDetId thisTower)
 
void process_part1 (std::vector< std::vector< int > > &tpframetow, int nStr, int bitMask)
 
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 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)
 
void setPointers (const EcalTPGFineGrainEBGroup *ecaltpgFgEBGroup, const EcalTPGLutGroup *ecaltpgLutGroup, const EcalTPGLutIdMap *ecaltpgLut, const EcalTPGFineGrainEBIdMap *ecaltpgFineGrainEB, const EcalTPGFineGrainTowerEE *ecaltpgFineGrainTowerEE, const EcalTPGTowerStatus *ecaltpgBadTT, const EcalTPGSpike *ecaltpgSpike)
 
virtual ~EcalFenixTcp ()
 

Public Attributes

const EcalTPGTowerStatusecaltpgBadTT_
 
const EcalTPGFineGrainEBGroupecaltpgFgEBGroup_
 
const EcalTPGFineGrainEBIdMapecaltpgFineGrainEB_
 
const EcalTPGFineGrainTowerEEecaltpgFineGrainTowerEE_
 
const EcalTPGLutIdMapecaltpgLut_
 
const EcalTPGLutGroupecaltpgLutGroup_
 
const EcalTPGSpikeecaltpgSpike_
 

Private Attributes

EcalFenixEtTotadder_
 
std::vector< int > adder_out_
 
std::vector< EcalFenixBypassLin * > bypasslin_
 
std::vector< std::vector< int > > bypasslin_out_
 
bool debug_
 
std::vector< int > fgvb_out_
 
EcalFenixFgvbEBfgvbEB_
 
EcalFenixTcpFgvbEEfgvbEE_
 
EcalFenixTcpFormatformatter_
 
EcalFenixMaxof2maxOf2_
 
std::vector< int > maxOf2_out_
 
int nbMaxStrips_
 
EcalFenixTcpsFgvbEBsfgvbEB_
 
std::vector< int > strip_fgvb_out_
 

Detailed Description

class representing the Fenix chip, format strip

Definition at line 34 of file EcalFenixTcp.h.

Constructor & Destructor Documentation

EcalFenixTcp::EcalFenixTcp ( const edm::EventSetup setup,
bool  tcpFormat,
bool  debug,
bool  famos,
int  binOfMax,
int  maxNrSamples,
int  nbMaxStrips 
)

Definition at line 14 of file EcalFenixTcp.cc.

References adder_, adder_out_, bypasslin_, bypasslin_out_, debug_, fgvb_out_, fgvbEB_, fgvbEE_, formatter_, i, maxOf2_, maxOf2_out_, nbMaxStrips_, sfgvbEB_, and strip_fgvb_out_.

14  : debug_(debug),nbMaxStrips_(nbMaxStrips)
15  {
16  bypasslin_.resize(nbMaxStrips_);
17  for (int i=0;i<nbMaxStrips_;i++) bypasslin_[i] = new EcalFenixBypassLin();
18  adder_= new EcalFenixEtTot();
19  maxOf2_=new EcalFenixMaxof2(maxNrSamples,nbMaxStrips_);
20  formatter_= new EcalFenixTcpFormat(tcpFormat, debug_, famos, binOfMax);
21  fgvbEB_= new EcalFenixFgvbEB(maxNrSamples);
22  fgvbEE_= new EcalFenixTcpFgvbEE(maxNrSamples);
24 
25  // permanent data structures
26  bypasslin_out_.resize(nbMaxStrips_);
27  std::vector<int> vec(maxNrSamples,0);
28  for (int i=0;i<nbMaxStrips_;i++) bypasslin_out_[i]=vec;
29  adder_out_.resize(maxNrSamples);
30  maxOf2_out_.resize(maxNrSamples);
31  fgvb_out_.resize(maxNrSamples);
32  strip_fgvb_out_.resize(maxNrSamples);
33 
34  }
int i
Definition: DBlmapReader.cc:9
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
std::vector< int > fgvb_out_
Definition: EcalFenixTcp.h:54
EcalFenixTcpFgvbEE * fgvbEE_
Definition: EcalFenixTcp.h:45
std::vector< EcalFenixBypassLin * > bypasslin_
Definition: EcalFenixTcp.h:42
EcalFenixFgvbEB * fgvbEB_
Definition: EcalFenixTcp.h:44
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
#define debug
Definition: MEtoEDMFormat.h:34
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
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 ...
EcalFenixTcp::~EcalFenixTcp ( )
virtual

Definition at line 36 of file EcalFenixTcp.cc.

References adder_, bypasslin_, fgvbEB_, fgvbEE_, formatter_, i, maxOf2_, and nbMaxStrips_.

36  {
37  for (int i=0;i<nbMaxStrips_;i++) delete bypasslin_[i];
38  delete adder_;
39  delete maxOf2_;
40  delete formatter_;
41  delete fgvbEB_;
42  delete fgvbEE_;
43  }
int i
Definition: DBlmapReader.cc:9
EcalFenixMaxof2 * maxOf2_
Definition: EcalFenixTcp.h:41
EcalFenixTcpFormat * formatter_
Definition: EcalFenixTcp.h:48
EcalFenixTcpFgvbEE * fgvbEE_
Definition: EcalFenixTcp.h:45
std::vector< EcalFenixBypassLin * > bypasslin_
Definition: EcalFenixTcp.h:42
EcalFenixFgvbEB * fgvbEB_
Definition: EcalFenixTcp.h:44
EcalFenixEtTot * adder_
Definition: EcalFenixTcp.h:43

Member Function Documentation

EcalFenixEtTot* EcalFenixTcp::getAdder ( ) const
inline

Definition at line 117 of file EcalFenixTcp.h.

References adder_.

Referenced by process_part1().

117 { return adder_;}
EcalFenixEtTot * adder_
Definition: EcalFenixTcp.h:43
EcalFenixBypassLin* EcalFenixTcp::getBypasslin ( int  i) const
inline

Definition at line 116 of file EcalFenixTcp.h.

References bypasslin_, and i.

116 {return bypasslin_[i];}
int i
Definition: DBlmapReader.cc:9
std::vector< EcalFenixBypassLin * > bypasslin_
Definition: EcalFenixTcp.h:42
EcalFenixFgvbEB* EcalFenixTcp::getFGVBEB ( ) const
inline

Definition at line 120 of file EcalFenixTcp.h.

References fgvbEB_.

Referenced by process_part2_barrel().

120 {return fgvbEB_;}
EcalFenixFgvbEB * fgvbEB_
Definition: EcalFenixTcp.h:44
EcalFenixTcpFgvbEE* EcalFenixTcp::getFGVBEE ( ) const
inline

Definition at line 121 of file EcalFenixTcp.h.

References fgvbEE_.

Referenced by process_part2_endcap().

121 {return fgvbEE_;}
EcalFenixTcpFgvbEE * fgvbEE_
Definition: EcalFenixTcp.h:45
EcalFenixTcpFormat* EcalFenixTcp::getFormatter ( ) const
inline

Definition at line 119 of file EcalFenixTcp.h.

References formatter_.

Referenced by process_part2_barrel(), and process_part2_endcap().

119 {return formatter_;}
EcalFenixTcpFormat * formatter_
Definition: EcalFenixTcp.h:48
EcalFenixMaxof2* EcalFenixTcp::getMaxOf2 ( ) const
inline

Definition at line 118 of file EcalFenixTcp.h.

References maxOf2_.

Referenced by process_part2_barrel().

118 {return maxOf2_;}
EcalFenixMaxof2 * maxOf2_
Definition: EcalFenixTcp.h:41
EcalFenixTcpsFgvbEB* EcalFenixTcp::getsFGVBEB ( ) const
inline

Definition at line 122 of file EcalFenixTcp.h.

References sfgvbEB_.

Referenced by process_part2_barrel().

122 {return sfgvbEB_;}
EcalFenixTcpsFgvbEB * sfgvbEB_
Definition: EcalFenixTcp.h:46
void EcalFenixTcp::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 at line 46 of file EcalFenixTcp.cc.

References ecaltpgBadTT_, ecaltpgFgEBGroup_, ecaltpgFineGrainEB_, ecaltpgLut_, ecaltpgLutGroup_, ecaltpgSpike_, process_part1(), and process_part2_barrel().

Referenced by ConfigBuilder.ConfigBuilder::addExtraStream(), ConfigBuilder.ConfigBuilder::completeInputCommand(), ConfigBuilder.ConfigBuilder::doNotInlineEventContent(), ConfigBuilder.ConfigBuilder.PrintAllModules::leave(), ConfigBuilder.ConfigBuilder::prepare_FASTSIM(), ConfigBuilder.ConfigBuilder::prepare_HLT(), ConfigBuilder.ConfigBuilder::prepare_LHE(), ConfigBuilder.ConfigBuilder::prepare_VALIDATION(), ConfigBuilder.ConfigBuilder::renameHLTprocessInSequence(), ConfigBuilder.ConfigBuilder::renameInputTagsInSequence(), EcalTrigPrimFunctionalAlgo::run_part2(), and ConfigBuilder.ConfigBuilder::scheduleSequence().

52 {
53 
54  int bitMask=12;
55  process_part1(tpframetow,nStr,bitMask);
56 
57 
59 }
const EcalTPGFineGrainEBIdMap * ecaltpgFineGrainEB_
Definition: EcalFenixTcp.h:127
const EcalTPGSpike * ecaltpgSpike_
Definition: EcalFenixTcp.h:130
const EcalTPGTowerStatus * ecaltpgBadTT_
Definition: EcalFenixTcp.h:129
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)
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 EcalTPGLutGroup * ecaltpgLutGroup_
Definition: EcalFenixTcp.h:125
void EcalFenixTcp::process ( const edm::EventSetup setup,
std::vector< EEDataFrame > &  bid,
std::vector< std::vector< int > > &  tpframetow,
int  nStr,
std::vector< EcalTriggerPrimitiveSample > &  tptow,
std::vector< EcalTriggerPrimitiveSample > &  tptow2,
bool  isInInnerRings,
EcalTrigTowerDetId  thisTower 
)

Definition at line 62 of file EcalFenixTcp.cc.

References ecaltpgBadTT_, ecaltpgFineGrainTowerEE_, ecaltpgLut_, ecaltpgLutGroup_, process_part1(), and process_part2_endcap().

Referenced by ConfigBuilder.ConfigBuilder::addExtraStream(), ConfigBuilder.ConfigBuilder::completeInputCommand(), ConfigBuilder.ConfigBuilder::doNotInlineEventContent(), ConfigBuilder.ConfigBuilder.PrintAllModules::leave(), ConfigBuilder.ConfigBuilder::prepare_FASTSIM(), ConfigBuilder.ConfigBuilder::prepare_HLT(), ConfigBuilder.ConfigBuilder::prepare_LHE(), ConfigBuilder.ConfigBuilder::prepare_VALIDATION(), ConfigBuilder.ConfigBuilder::renameHLTprocessInSequence(), ConfigBuilder.ConfigBuilder::renameInputTagsInSequence(), and ConfigBuilder.ConfigBuilder::scheduleSequence().

68 {
69  int bitMask=12; // Pascal: endcap has 12 bits as in EB (bug in FENIX!!!!) {was 10 before]
70  process_part1(tpframetow,nStr,bitMask);
71 
72  process_part2_endcap(tpframetow,nStr,bitMask,ecaltpgLutGroup_,ecaltpgLut_,ecaltpgFineGrainTowerEE_,ecaltpgBadTT_,tptow,tptow2,isInInnerRing, towid);
73 }
const EcalTPGTowerStatus * ecaltpgBadTT_
Definition: EcalFenixTcp.h:129
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
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)
const EcalTPGLutGroup * ecaltpgLutGroup_
Definition: EcalFenixTcp.h:125
void EcalFenixTcp::process_part1 ( std::vector< std::vector< int > > &  tpframetow,
int  nStr,
int  bitMask 
)

Definition at line 75 of file EcalFenixTcp.cc.

References adder_out_, gather_cfg::cout, debug_, getAdder(), i, and EcalFenixEtTot::process().

Referenced by process().

76 {
77 // //call bypasslin
78 // for (int istrip=0;istrip<nStr;istrip ++){
79 // this->getBypasslin(istrip)->process(tpframetow[istrip],bypasslin_out_[istrip]);
80 // }
81 // //this is a test
82 // if (debug_) {
83 // std::cout<<"bypasslinout = "<<std::endl;
84 // for (int istrip=0;istrip<nStr;istrip ++){
85 // std::vector<int> stripin= bypasslin_out_[istrip];
86 // for (unsigned int is=0;is<stripin.size();is++){
87 // std::cout<<stripin[is]<<" ";
88 // }
89 // std::cout<<std::endl;
90 // }
91 // }
92 
93 // //call adder
94 // this->getAdder()->process(bypasslin_out_, nStr, bitMask,adder_out_);
95  this->getAdder()->process(tpframetow, nStr, bitMask,adder_out_);
96  //this is a test:
97  if (debug_) {
98  std::cout<< "output of adder is a vector of size: "<<adder_out_.size()<<std::endl;
99  std::cout<< "value : "<<std::endl;
100  for (unsigned int i =0; i<adder_out_.size();i++){
101  std::cout <<" "<<adder_out_[i];
102  }
103  std::cout<<std::endl;
104  }
105  // return adder_out;
106  return;
107 
108 }
int i
Definition: DBlmapReader.cc:9
EcalFenixEtTot * getAdder() const
Definition: EcalFenixTcp.h:117
virtual std::vector< int > process(const std::vector< EBDataFrame * > &)
tuple cout
Definition: gather_cfg.py:121
std::vector< int > adder_out_
Definition: EcalFenixTcp.h:52
void EcalFenixTcp::process_part2_barrel ( std::vector< std::vector< int > > &  bypasslinout,
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 
)

Definition at line 110 of file EcalFenixTcp.cc.

References adder_out_, gather_cfg::cout, debug_, fgvb_out_, getFGVBEB(), getFormatter(), getMaxOf2(), getsFGVBEB(), i, maxOf2_out_, EcalFenixTcpsFgvbEB::process(), EcalFenixMaxof2::process(), EcalFenixTcpFormat::process(), EcalFenixFgvbEB::process(), DetId::rawId(), EcalFenixTcpFormat::setParameters(), EcalFenixFgvbEB::setParameters(), and strip_fgvb_out_.

Referenced by process().

121 {
122  //call maxof2
123  // this->getMaxOf2()->process(bypasslin_out_,nStr,maxOf2_out_);
124  this->getMaxOf2()->process(bypasslinout,nStr,bitMask,maxOf2_out_);
125  // this is a test:
126  if (debug_) {
127  std::cout<< "output of maxof2 is a vector of size: "<<maxOf2_out_.size()<<std::endl;
128  std::cout<< "value : "<<std::endl;
129  for (unsigned int i =0; i<maxOf2_out_.size();i++){
130  std::cout <<" "<<std::dec<<maxOf2_out_[i];
131  }
132  std::cout<<std::endl;
133  }
134 
135  //call fgvb
136 
137  this->getFGVBEB()->setParameters(towid.rawId(),ecaltpgFgEBGroup,ecaltpgFineGrainEB);
139 
140  // Call sFGVB
141  this->getsFGVBEB()->process(bypasslinout,nStr,bitMask,strip_fgvb_out_);
142 
143  //this is a test:
144  if (debug_) {
145  std::cout<< "output of fgvb is a vector of size: "<<fgvb_out_.size()<<std::endl;
146  std::cout<< "value : "<<std::endl;
147  for (unsigned int i =0; i<fgvb_out_.size();i++){
148  std::cout <<" "<<std::dec<<fgvb_out_[i];
149  }
150  std::cout<<std::endl;
151  }
152 
153  // call formatter
154  int eTTotShift=2;
155 
156  this->getFormatter()->setParameters(towid.rawId(),ecaltpgLutGroup,ecaltpgLut,ecaltpgBadTT,ecaltpgSpike);
157  this->getFormatter()->process(adder_out_,fgvb_out_,strip_fgvb_out_,eTTotShift,tcp_out,tcp_outTcc,false);
158  //this is a test:
159  if (debug_) {
160  std::cout<< "output of TCP formatter Barrel is a vector of size: "<<std::dec<<tcp_out.size()<<std::endl;
161  std::cout<< "value : "<<std::endl;
162  for (unsigned int i =0; i<tcp_out.size();i++){
163  std::cout <<" "<<i<<" "<<std::dec<<tcp_out[i];
164  }
165  std::cout<<std::endl;
166  }
167 
168  return;
169 }
int i
Definition: DBlmapReader.cc:9
void setParameters(uint32_t towid, const EcalTPGFineGrainEBGroup *ecaltpgFgEBGroup, const EcalTPGFineGrainEBIdMap *ecaltpgFineGrainEB)
void process(std::vector< std::vector< int > > &, int nStr, int bitMask, std::vector< int > &out)
EcalFenixFgvbEB * getFGVBEB() const
Definition: EcalFenixTcp.h:120
void process(std::vector< int > &add_out, std::vector< int > &maxof2_out, std::vector< int > &output)
EcalFenixMaxof2 * getMaxOf2() const
Definition: EcalFenixTcp.h:118
void process(std::vector< std::vector< int > > &bypasslin_out, int nStr, int bitMask, std::vector< int > &output)
std::vector< int > fgvb_out_
Definition: EcalFenixTcp.h:54
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
EcalFenixTcpsFgvbEB * getsFGVBEB() const
Definition: EcalFenixTcp.h:122
void setParameters(uint32_t towid, const EcalTPGLutGroup *ecaltpgLutGroup, const EcalTPGLutIdMap *ecaltpgLut, const EcalTPGTowerStatus *ecaltpgbadTT, const EcalTPGSpike *ecaltpgSpike)
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
tuple cout
Definition: gather_cfg.py:121
virtual std::vector< int > process(std::vector< int >, std::vector< int >)
std::vector< int > adder_out_
Definition: EcalFenixTcp.h:52
void EcalFenixTcp::process_part2_endcap ( std::vector< std::vector< int > > &  bypasslinout,
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 
)

Definition at line 171 of file EcalFenixTcp.cc.

References adder_out_, gather_cfg::cout, debug_, fgvb_out_, fgvbEE_, getFGVBEE(), getFormatter(), i, EcalFenixTcpFormat::process(), EcalFenixTcpFgvbEE::process(), DetId::rawId(), EcalFenixTcpFormat::setParameters(), EcalFenixTcpFgvbEE::setParameters(), and strip_fgvb_out_.

Referenced by process().

180 {
181  // Zero EB strip records
182  for(unsigned int i = 0; i < strip_fgvb_out_.size(); ++i)
183  {
184  strip_fgvb_out_[i] = 0;
185  }
186 
187  //call fgvb
188  this->getFGVBEE()->setParameters(towid.rawId(),ecaltpgFineGrainTowerEE);
189  // fgvbEE_->process(bypasslin_out_,nStr,bitMask,fgvb_out_);
190  fgvbEE_->process(bypasslinout,nStr,bitMask,fgvb_out_);
191 
192  //call formatter
193  int eTTotShift=2; // Pascal: endcap has 12 bits as in EB (bug in FENIX!!!!) so shift must be applied to just keep [11:2]
194 
195  this->getFormatter()->setParameters(towid.rawId(),ecaltpgLutGroup,ecaltpgLut,ecaltpgbadTT,0);
196 
197  this->getFormatter()->process(adder_out_,fgvb_out_,strip_fgvb_out_,eTTotShift,tcp_out,tcp_outTcc,isInInnerRings);
198  //this is a test:
199  if (debug_) {
200  std::cout<< "output of TCP formatter(endcap) is a vector of size: "<<std::dec<<tcp_out.size()<<std::endl;
201  std::cout<< "value : "<<std::endl;
202  for (unsigned int i =0; i<tcp_out.size();i++){
203  std::cout <<" "<<i<<" "<<std::dec<<tcp_out[i]<<std::endl;
204  }
205  std::cout<<std::endl;
206  }
207  return;
208 }
int i
Definition: DBlmapReader.cc:9
EcalFenixTcpFgvbEE * getFGVBEE() const
Definition: EcalFenixTcp.h:121
std::vector< int > fgvb_out_
Definition: EcalFenixTcp.h:54
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
EcalFenixTcpFgvbEE * fgvbEE_
Definition: EcalFenixTcp.h:45
void process(std::vector< std::vector< int > > &bypasslin_out, int nStr, int bitMask, std::vector< int > &output)
void setParameters(uint32_t towid, const EcalTPGFineGrainTowerEE *ecaltpgFineGrainTowerEE)
void setParameters(uint32_t towid, const EcalTPGLutGroup *ecaltpgLutGroup, const EcalTPGLutIdMap *ecaltpgLut, const EcalTPGTowerStatus *ecaltpgbadTT, const EcalTPGSpike *ecaltpgSpike)
std::vector< int > strip_fgvb_out_
Definition: EcalFenixTcp.h:55
EcalFenixTcpFormat * getFormatter() const
Definition: EcalFenixTcp.h:119
tuple cout
Definition: gather_cfg.py:121
virtual std::vector< int > process(std::vector< int >, std::vector< int >)
std::vector< int > adder_out_
Definition: EcalFenixTcp.h:52
void EcalFenixTcp::setPointers ( const EcalTPGFineGrainEBGroup ecaltpgFgEBGroup,
const EcalTPGLutGroup ecaltpgLutGroup,
const EcalTPGLutIdMap ecaltpgLut,
const EcalTPGFineGrainEBIdMap ecaltpgFineGrainEB,
const EcalTPGFineGrainTowerEE ecaltpgFineGrainTowerEE,
const EcalTPGTowerStatus ecaltpgBadTT,
const EcalTPGSpike ecaltpgSpike 
)
inline

Definition at line 59 of file EcalFenixTcp.h.

References ecaltpgBadTT_, ecaltpgFgEBGroup_, ecaltpgFineGrainEB_, ecaltpgFineGrainTowerEE_, ecaltpgLut_, ecaltpgLutGroup_, and ecaltpgSpike_.

Referenced by EcalTrigPrimFunctionalAlgo::setPointers2().

66  {
67  ecaltpgFgEBGroup_=ecaltpgFgEBGroup;
68  ecaltpgLutGroup_=ecaltpgLutGroup;
69  ecaltpgLut_=ecaltpgLut;
70  ecaltpgFineGrainEB_=ecaltpgFineGrainEB;
71  ecaltpgFineGrainTowerEE_=ecaltpgFineGrainTowerEE;
72  ecaltpgBadTT_=ecaltpgBadTT;
73  ecaltpgSpike_=ecaltpgSpike;
74  }
const EcalTPGFineGrainEBIdMap * ecaltpgFineGrainEB_
Definition: EcalFenixTcp.h:127
const EcalTPGSpike * ecaltpgSpike_
Definition: EcalFenixTcp.h:130
const EcalTPGTowerStatus * ecaltpgBadTT_
Definition: EcalFenixTcp.h:129
const EcalTPGFineGrainEBGroup * ecaltpgFgEBGroup_
Definition: EcalFenixTcp.h:124
const EcalTPGLutIdMap * ecaltpgLut_
Definition: EcalFenixTcp.h:126
const EcalTPGFineGrainTowerEE * ecaltpgFineGrainTowerEE_
Definition: EcalFenixTcp.h:128
const EcalTPGLutGroup * ecaltpgLutGroup_
Definition: EcalFenixTcp.h:125

Member Data Documentation

EcalFenixEtTot* EcalFenixTcp::adder_
private

Definition at line 43 of file EcalFenixTcp.h.

Referenced by EcalFenixTcp(), getAdder(), and ~EcalFenixTcp().

std::vector<int> EcalFenixTcp::adder_out_
private
std::vector<EcalFenixBypassLin *> EcalFenixTcp::bypasslin_
private

Definition at line 42 of file EcalFenixTcp.h.

Referenced by EcalFenixTcp(), getBypasslin(), and ~EcalFenixTcp().

std::vector<std::vector<int> > EcalFenixTcp::bypasslin_out_
private

Definition at line 51 of file EcalFenixTcp.h.

Referenced by EcalFenixTcp().

bool EcalFenixTcp::debug_
private
const EcalTPGTowerStatus* EcalFenixTcp::ecaltpgBadTT_

Definition at line 129 of file EcalFenixTcp.h.

Referenced by process(), and setPointers().

const EcalTPGFineGrainEBGroup* EcalFenixTcp::ecaltpgFgEBGroup_

Definition at line 124 of file EcalFenixTcp.h.

Referenced by process(), and setPointers().

const EcalTPGFineGrainEBIdMap* EcalFenixTcp::ecaltpgFineGrainEB_

Definition at line 127 of file EcalFenixTcp.h.

Referenced by process(), and setPointers().

const EcalTPGFineGrainTowerEE* EcalFenixTcp::ecaltpgFineGrainTowerEE_

Definition at line 128 of file EcalFenixTcp.h.

Referenced by process(), and setPointers().

const EcalTPGLutIdMap* EcalFenixTcp::ecaltpgLut_

Definition at line 126 of file EcalFenixTcp.h.

Referenced by process(), and setPointers().

const EcalTPGLutGroup* EcalFenixTcp::ecaltpgLutGroup_

Definition at line 125 of file EcalFenixTcp.h.

Referenced by process(), and setPointers().

const EcalTPGSpike* EcalFenixTcp::ecaltpgSpike_

Definition at line 130 of file EcalFenixTcp.h.

Referenced by process(), and setPointers().

std::vector<int> EcalFenixTcp::fgvb_out_
private

Definition at line 54 of file EcalFenixTcp.h.

Referenced by EcalFenixTcp(), process_part2_barrel(), and process_part2_endcap().

EcalFenixFgvbEB* EcalFenixTcp::fgvbEB_
private

Definition at line 44 of file EcalFenixTcp.h.

Referenced by EcalFenixTcp(), getFGVBEB(), and ~EcalFenixTcp().

EcalFenixTcpFgvbEE* EcalFenixTcp::fgvbEE_
private

Definition at line 45 of file EcalFenixTcp.h.

Referenced by EcalFenixTcp(), getFGVBEE(), process_part2_endcap(), and ~EcalFenixTcp().

EcalFenixTcpFormat* EcalFenixTcp::formatter_
private

Definition at line 48 of file EcalFenixTcp.h.

Referenced by EcalFenixTcp(), getFormatter(), and ~EcalFenixTcp().

EcalFenixMaxof2* EcalFenixTcp::maxOf2_
private

Definition at line 41 of file EcalFenixTcp.h.

Referenced by EcalFenixTcp(), getMaxOf2(), and ~EcalFenixTcp().

std::vector<int> EcalFenixTcp::maxOf2_out_
private

Definition at line 53 of file EcalFenixTcp.h.

Referenced by EcalFenixTcp(), and process_part2_barrel().

int EcalFenixTcp::nbMaxStrips_
private

Definition at line 39 of file EcalFenixTcp.h.

Referenced by EcalFenixTcp(), and ~EcalFenixTcp().

EcalFenixTcpsFgvbEB* EcalFenixTcp::sfgvbEB_
private

Definition at line 46 of file EcalFenixTcp.h.

Referenced by EcalFenixTcp(), and getsFGVBEB().

std::vector<int> EcalFenixTcp::strip_fgvb_out_
private

Definition at line 55 of file EcalFenixTcp.h.

Referenced by EcalFenixTcp(), process_part2_barrel(), and process_part2_endcap().