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) | |
EcalFenixEtTot * | getAdder () const |
EcalFenixBypassLin * | getBypasslin (int i) const |
EcalFenixFgvbEB * | getFGVBEB () const |
EcalFenixTcpFgvbEE * | getFGVBEE () const |
EcalFenixTcpFormat * | getFormatter () const |
EcalFenixMaxof2 * | getMaxOf2 () const |
EcalFenixTcpsFgvbEB * | getsFGVBEB () 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 EcalTPGTowerStatus * | ecaltpgBadTT_ |
const EcalTPGFineGrainEBGroup * | ecaltpgFgEBGroup_ |
const EcalTPGFineGrainEBIdMap * | ecaltpgFineGrainEB_ |
const EcalTPGFineGrainTowerEE * | ecaltpgFineGrainTowerEE_ |
const EcalTPGLutIdMap * | ecaltpgLut_ |
const EcalTPGLutGroup * | ecaltpgLutGroup_ |
const EcalTPGSpike * | ecaltpgSpike_ |
Private Attributes | |
EcalFenixEtTot * | adder_ |
std::vector< int > | adder_out_ |
std::vector< EcalFenixBypassLin * > | bypasslin_ |
std::vector< std::vector< int > > | bypasslin_out_ |
bool | debug_ |
std::vector< int > | fgvb_out_ |
EcalFenixFgvbEB * | fgvbEB_ |
EcalFenixTcpFgvbEE * | fgvbEE_ |
EcalFenixTcpFormat * | formatter_ |
EcalFenixMaxof2 * | maxOf2_ |
std::vector< int > | maxOf2_out_ |
int | nbMaxStrips_ |
EcalFenixTcpsFgvbEB * | sfgvbEB_ |
std::vector< int > | strip_fgvb_out_ |
class representing the Fenix chip, format strip
Definition at line 34 of file EcalFenixTcp.h.
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_.
: debug_(debug),nbMaxStrips_(nbMaxStrips) { bypasslin_.resize(nbMaxStrips_); for (int i=0;i<nbMaxStrips_;i++) bypasslin_[i] = new EcalFenixBypassLin(); adder_= new EcalFenixEtTot(); maxOf2_=new EcalFenixMaxof2(maxNrSamples,nbMaxStrips_); formatter_= new EcalFenixTcpFormat(tcpFormat, debug_, famos, binOfMax); fgvbEB_= new EcalFenixFgvbEB(maxNrSamples); fgvbEE_= new EcalFenixTcpFgvbEE(maxNrSamples); sfgvbEB_ = new EcalFenixTcpsFgvbEB(); // permanent data structures bypasslin_out_.resize(nbMaxStrips_); std::vector<int> vec(maxNrSamples,0); for (int i=0;i<nbMaxStrips_;i++) bypasslin_out_[i]=vec; adder_out_.resize(maxNrSamples); maxOf2_out_.resize(maxNrSamples); fgvb_out_.resize(maxNrSamples); strip_fgvb_out_.resize(maxNrSamples); }
EcalFenixTcp::~EcalFenixTcp | ( | ) | [virtual] |
Definition at line 36 of file EcalFenixTcp.cc.
References adder_, bypasslin_, fgvbEB_, fgvbEE_, formatter_, i, maxOf2_, and nbMaxStrips_.
{ for (int i=0;i<nbMaxStrips_;i++) delete bypasslin_[i]; delete adder_; delete maxOf2_; delete formatter_; delete fgvbEB_; delete fgvbEE_; }
EcalFenixEtTot* EcalFenixTcp::getAdder | ( | ) | const [inline] |
Definition at line 117 of file EcalFenixTcp.h.
References adder_.
Referenced by process_part1().
{ return adder_;}
EcalFenixBypassLin* EcalFenixTcp::getBypasslin | ( | int | i | ) | const [inline] |
Definition at line 116 of file EcalFenixTcp.h.
References bypasslin_, and i.
{return bypasslin_[i];}
EcalFenixFgvbEB* EcalFenixTcp::getFGVBEB | ( | ) | const [inline] |
Definition at line 120 of file EcalFenixTcp.h.
References fgvbEB_.
Referenced by process_part2_barrel().
{return fgvbEB_;}
EcalFenixTcpFgvbEE* EcalFenixTcp::getFGVBEE | ( | ) | const [inline] |
Definition at line 121 of file EcalFenixTcp.h.
References fgvbEE_.
Referenced by process_part2_endcap().
{return fgvbEE_;}
EcalFenixTcpFormat* EcalFenixTcp::getFormatter | ( | ) | const [inline] |
Definition at line 119 of file EcalFenixTcp.h.
References formatter_.
Referenced by process_part2_barrel(), and process_part2_endcap().
{return formatter_;}
EcalFenixMaxof2* EcalFenixTcp::getMaxOf2 | ( | ) | const [inline] |
Definition at line 118 of file EcalFenixTcp.h.
References maxOf2_.
Referenced by process_part2_barrel().
{return maxOf2_;}
EcalFenixTcpsFgvbEB* EcalFenixTcp::getsFGVBEB | ( | ) | const [inline] |
Definition at line 122 of file EcalFenixTcp.h.
References sfgvbEB_.
Referenced by process_part2_barrel().
{return sfgvbEB_;}
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 EcalTrigPrimFunctionalAlgo::run_part2().
{ int bitMask=12; process_part1(tpframetow,nStr,bitMask); process_part2_barrel(tpframetow,nStr,bitMask,ecaltpgFgEBGroup_,ecaltpgLutGroup_,ecaltpgLut_,ecaltpgFineGrainEB_,ecaltpgBadTT_,ecaltpgSpike_,tptow,tptow2,towid); }
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().
{ int bitMask=12; // Pascal: endcap has 12 bits as in EB (bug in FENIX!!!!) {was 10 before] process_part1(tpframetow,nStr,bitMask); process_part2_endcap(tpframetow,nStr,bitMask,ecaltpgLutGroup_,ecaltpgLut_,ecaltpgFineGrainTowerEE_,ecaltpgBadTT_,tptow,tptow2,isInInnerRing, towid); }
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().
{ // //call bypasslin // for (int istrip=0;istrip<nStr;istrip ++){ // this->getBypasslin(istrip)->process(tpframetow[istrip],bypasslin_out_[istrip]); // } // //this is a test // if (debug_) { // std::cout<<"bypasslinout = "<<std::endl; // for (int istrip=0;istrip<nStr;istrip ++){ // std::vector<int> stripin= bypasslin_out_[istrip]; // for (unsigned int is=0;is<stripin.size();is++){ // std::cout<<stripin[is]<<" "; // } // std::cout<<std::endl; // } // } // //call adder // this->getAdder()->process(bypasslin_out_, nStr, bitMask,adder_out_); this->getAdder()->process(tpframetow, nStr, bitMask,adder_out_); //this is a test: if (debug_) { std::cout<< "output of adder is a vector of size: "<<adder_out_.size()<<std::endl; std::cout<< "value : "<<std::endl; for (unsigned int i =0; i<adder_out_.size();i++){ std::cout <<" "<<adder_out_[i]; } std::cout<<std::endl; } // return adder_out; return; }
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_, EcalFenixMaxof2::process(), EcalFenixTcpsFgvbEB::process(), EcalFenixFgvbEB::process(), EcalFenixTcpFormat::process(), DetId::rawId(), EcalFenixFgvbEB::setParameters(), EcalFenixTcpFormat::setParameters(), and strip_fgvb_out_.
Referenced by process().
{ //call maxof2 // this->getMaxOf2()->process(bypasslin_out_,nStr,maxOf2_out_); this->getMaxOf2()->process(bypasslinout,nStr,bitMask,maxOf2_out_); // this is a test: if (debug_) { std::cout<< "output of maxof2 is a vector of size: "<<maxOf2_out_.size()<<std::endl; std::cout<< "value : "<<std::endl; for (unsigned int i =0; i<maxOf2_out_.size();i++){ std::cout <<" "<<std::dec<<maxOf2_out_[i]; } std::cout<<std::endl; } //call fgvb this->getFGVBEB()->setParameters(towid.rawId(),ecaltpgFgEBGroup,ecaltpgFineGrainEB); this->getFGVBEB()->process(adder_out_,maxOf2_out_,fgvb_out_); // Call sFGVB this->getsFGVBEB()->process(bypasslinout,nStr,bitMask,strip_fgvb_out_); //this is a test: if (debug_) { std::cout<< "output of fgvb is a vector of size: "<<fgvb_out_.size()<<std::endl; std::cout<< "value : "<<std::endl; for (unsigned int i =0; i<fgvb_out_.size();i++){ std::cout <<" "<<std::dec<<fgvb_out_[i]; } std::cout<<std::endl; } // call formatter int eTTotShift=2; this->getFormatter()->setParameters(towid.rawId(),ecaltpgLutGroup,ecaltpgLut,ecaltpgBadTT,ecaltpgSpike); this->getFormatter()->process(adder_out_,fgvb_out_,strip_fgvb_out_,eTTotShift,tcp_out,tcp_outTcc,false); //this is a test: if (debug_) { std::cout<< "output of TCP formatter Barrel is a vector of size: "<<std::dec<<tcp_out.size()<<std::endl; std::cout<< "value : "<<std::endl; for (unsigned int i =0; i<tcp_out.size();i++){ std::cout <<" "<<i<<" "<<std::dec<<tcp_out[i]; } std::cout<<std::endl; } return; }
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, EcalFenixTcpFgvbEE::process(), EcalFenixTcpFormat::process(), DetId::rawId(), EcalFenixTcpFormat::setParameters(), EcalFenixTcpFgvbEE::setParameters(), and strip_fgvb_out_.
Referenced by process().
{ // Zero EB strip records for(unsigned int i = 0; i < strip_fgvb_out_.size(); ++i) { strip_fgvb_out_[i] = 0; } //call fgvb this->getFGVBEE()->setParameters(towid.rawId(),ecaltpgFineGrainTowerEE); // fgvbEE_->process(bypasslin_out_,nStr,bitMask,fgvb_out_); fgvbEE_->process(bypasslinout,nStr,bitMask,fgvb_out_); //call formatter int eTTotShift=2; // Pascal: endcap has 12 bits as in EB (bug in FENIX!!!!) so shift must be applied to just keep [11:2] this->getFormatter()->setParameters(towid.rawId(),ecaltpgLutGroup,ecaltpgLut,ecaltpgbadTT,0); this->getFormatter()->process(adder_out_,fgvb_out_,strip_fgvb_out_,eTTotShift,tcp_out,tcp_outTcc,isInInnerRings); //this is a test: if (debug_) { std::cout<< "output of TCP formatter(endcap) is a vector of size: "<<std::dec<<tcp_out.size()<<std::endl; std::cout<< "value : "<<std::endl; for (unsigned int i =0; i<tcp_out.size();i++){ std::cout <<" "<<i<<" "<<std::dec<<tcp_out[i]<<std::endl; } std::cout<<std::endl; } return; }
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().
{ ecaltpgFgEBGroup_=ecaltpgFgEBGroup; ecaltpgLutGroup_=ecaltpgLutGroup; ecaltpgLut_=ecaltpgLut; ecaltpgFineGrainEB_=ecaltpgFineGrainEB; ecaltpgFineGrainTowerEE_=ecaltpgFineGrainTowerEE; ecaltpgBadTT_=ecaltpgBadTT; ecaltpgSpike_=ecaltpgSpike; }
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] |
Definition at line 52 of file EcalFenixTcp.h.
Referenced by EcalFenixTcp(), process_part1(), process_part2_barrel(), and process_part2_endcap().
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] |
Definition at line 37 of file EcalFenixTcp.h.
Referenced by EcalFenixTcp(), process_part1(), process_part2_barrel(), and process_part2_endcap().
Definition at line 129 of file EcalFenixTcp.h.
Referenced by process(), and setPointers().
Definition at line 124 of file EcalFenixTcp.h.
Referenced by process(), and setPointers().
Definition at line 127 of file EcalFenixTcp.h.
Referenced by process(), and setPointers().
Definition at line 128 of file EcalFenixTcp.h.
Referenced by process(), and setPointers().
Definition at line 126 of file EcalFenixTcp.h.
Referenced by process(), and setPointers().
Definition at line 125 of file EcalFenixTcp.h.
Referenced by process(), and setPointers().
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().