45 <<
" is larger than InputWidth ("<<inputWidth<<
")"
46 <<
" : restricting to InputWidth");
65 std::string hname_accept =
"hEtaPhiWindow_accept_bit"+std::to_string((
int)i);
66 std::string hname_reject =
"hEtaPhiWindow_reject_bit"+std::to_string((
int)i);
77 const std::vector<TCS::TOBArray *> &output,
81 if(input.size() == 1) {
83 const unsigned int nLeading =
p_MaxTob;
86 tob1 != input[0]->end();
88 const std::ptrdiff_t iTob = distance( input[0]->begin(), tob1);
89 if(nLeading!=0 and iTob>=nLeading)
continue;
97 const bool fillReject =
fillHistos() and not fillAccept;
98 const bool alreadyFilled = decision.
bit(0);
100 if(fillAccept and not alreadyFilled) {
102 }
else if(fillReject) {
106 <<
" ET = "<<(*tob1)->Et()
107 <<
" Eta = "<<(*tob1)->eta()
108 <<
" phi = "<<(*tob1)->phi());
110 decision.
setBit( 0, accept );
112 TCS_EXCEPTION(
"EtaPhiWindow alg must have 1 input, but got "<<input.size());
119 const std::vector<TCS::TOBArray *> &output,
122 if(input.size() == 1) {
124 const unsigned int nLeading =
p_MaxTob;
127 tob1 != input[0]->end();
129 const std::ptrdiff_t iTob = distance( input[0]->begin(), tob1);
130 if(nLeading!=0 and iTob>=nLeading)
continue;
138 const bool fillReject =
fillHistos() and not fillAccept;
139 const bool alreadyFilled = decision.
bit(0);
141 if(fillAccept and not alreadyFilled) {
143 }
else if(fillReject) {
147 <<
" ET = "<<(*tob1)->Et()
148 <<
" Eta = "<<(*tob1)->eta()
149 <<
" phi = "<<(*tob1)->phi());
151 decision.
setBit( 0, accept );
153 TCS_EXCEPTION(
"EtaPhiWindow alg must have 1 input, but got "<<input.size());
#define REGISTER_ALG_TCS(CLASS)
#define TCS_EXCEPTION(MSG)
const Parameter & parameter(const std::string ¶meterName) const
const std::string & name() const
void bookHist(std::vector< std::string > ®Name, const std::string &name, const std::string &title, const int binx, const int xmin, const int xmax)
void defineParameter(const std::string &name, TCS::parType_t value)
void fillHist2D(const std::string &histName, double x, double y)
data_t::const_iterator const_iterator
void setNumberOutputBits(unsigned int numberOutputBits)
DecisionAlg(const std::string &name)
bool fillHistosBasedOnHardware() const
! getter
bool fillHistos() const
whether the monitoring histograms should be filled
std::vector< std::string > m_histAccept
std::vector< std::string > m_histReject
unsigned int numberOutputBits() const
bool getDecisionHardwareBit(const unsigned int &bitNumber) const
! get one hardware decision bit from this algo
bool bit(unsigned int index) const
void setBit(unsigned int index, bool value)
virtual StatusCode processBitCorrect(const std::vector< TCS::TOBArray const * > &input, const std::vector< TCS::TOBArray * > &output, Decision &decison)
virtual StatusCode process(const std::vector< TCS::TOBArray const * > &input, const std::vector< TCS::TOBArray * > &output, Decision &decison)
EtaPhiWindow(const std::string &name)
virtual StatusCode initialize()