21 : theMapping_(theMapping),
debug_(debug), famos_(famos), nbMaxXtals_(nbMaxXtals), tpInfoPrintout_(tpInfoPrintout) {
35 v.resize(maxNrSamples);
37 for (
int i = 0;
i < 5;
i++)
66 if (samples.empty()) {
67 edm::LogWarning(
"EcalTPG") <<
"Warning: 0 size vector found in EcalFenixStripProcess!!!!!";
71 uint32_t stripid = elId.
rawId() & 0xfffffff8;
93 if (samples.empty()) {
94 std::cout <<
" Warning: 0 size vector found in EcalFenixStripProcess!!!!!" << std::endl;
98 uint32_t stripid = elId.
rawId() & 0xfffffff8;
137 edm::LogVerbatim(
"EcalTPG") <<
"EcalFenixStrip input is a vector of size: " << nrXtals <<
"\n";
140 std::stringstream
ss;
146 for (
int cryst = 0; cryst < nrXtals; cryst++) {
148 edm::LogVerbatim(
"EcalTPG") <<
"crystal " << cryst <<
" ADC counts per clock (non-linearized): ";
149 int Nsamples = df[cryst].size();
152 for (
int i = 0;
i < Nsamples;
i++) {
153 XTAL_ADCs.append(
" ");
154 XTAL_ADCs.append(std::to_string(df[cryst][
i].
adc()));
166 << nrXtals <<
" are used";
168 for (
int ix = 0; ix < nrXtals; ix++) {
169 edm::LogVerbatim(
"EcalTPG") <<
"crystal " << std::to_string(ix) <<
" values per clock (linearized): ";
173 for (
unsigned int i = 0;
i <
lin_out_[ix].size();
i++) {
174 Lin_Vals.append(
" ");
175 if (
i >= 2 &&
i < 7) {
176 Lin_Vals_in_time.append(
179 Lin_Vals_in_time.append(
", ");
181 Lin_Vals_in_time.append(
"]");
183 Lin_Vals.append(std::to_string((
lin_out_[ix])[
i]));
185 Lin_Vals.append(
"]");
187 edm::LogVerbatim(
"EcalTPG") << Lin_Vals <<
" --> In time digis: " << Lin_Vals_in_time <<
"\n";
199 fgvb_vals.append(
" ");
209 for (
unsigned int ix = 0; ix <
add_out_.size(); ix++) {
235 for (
unsigned int ix = 0; ix <
fgvb_out_.size(); ix++) {
294 for (
unsigned int ix = 0; ix <
format_out_.size(); ix++) {
314 for (
unsigned int ix = 0; ix <
format_out_.size(); ix++) {
Log< level::Info, true > LogVerbatim
EcalFenixOddAmplitudeFilter * oddAmplitude_filter_
EcalFenixStripFgvbEE * fgvbEE_
void setParameters(uint32_t raw, const EcalTPGPedestals *ecaltpPed, const EcalTPGLinearizationConst *ecaltpLin, const EcalTPGCrystalStatus *ecaltpBadX)
std::vector< std::vector< int > > lin_out_
std::vector< int > add_out_
std::vector< int > even_peak_out_
std::vector< EcalFenixLinearizer * > linearizer_
void process(std::vector< std::vector< int >> &lin_out, std::vector< int > &output)
void setParameters(int identif, uint32_t id, const EcalTPGFineGrainStripEE *)
EcalFenixStripFormatEB * fenixFormatterEB_
void process_part2_barrel(uint32_t stripid, const EcalTPGSlidingWindow *ecaltpgSlidW, const EcalTPGFineGrainStripEE *ecaltpgFgStripEE)
void process(std::vector< EBDataFrame > &samples, int nrXtals, std::vector< int > &out)
const EcalTPGOddWeightGroup * ecaltpgOddWeightGroup_
void process_part1(int identif, std::vector< T > &df, int nrXtals, uint32_t stripid, const EcalTPGPedestals *ecaltpPed, const EcalTPGLinearizationConst *ecaltpLin, const EcalTPGWeightIdMap *ecaltpgWeightMap, const EcalTPGWeightGroup *ecaltpgWeightGroup, const EcalTPGOddWeightIdMap *ecaltpgOddWeightMap, const EcalTPGOddWeightGroup *ecaltpgOddWeightGroup, const EcalTPGCrystalStatus *ecaltpBadX)
EcalFenixPeakFinder * getPeakFinder() const
const EcalElectronicsMapping * theMapping_
calculates the peak for Fenix strip, barrel input : 18 bits output: boolean
std::vector< int > odd_filt_out_
const EcalTPGSlidingWindow * ecaltpgSlidW_
calculation of Fgvb for the endcap in Fenix Strip calculates fgvb for the endcap in Fenix Strip ...
void process_part2_endcap(uint32_t stripid, const EcalTPGSlidingWindow *ecaltpgSlidW, const EcalTPGFineGrainStripEE *ecaltpgFgStripEE, const EcalTPGStripStatus *ecaltpgStripStatus)
const EcalTPGOddWeightIdMap * ecaltpgOddWeightMap_
bool getMissedStripFlag() const
EcalFenixAmplitudeFilter * getEvenFilter() const
void process(const std::vector< std::vector< int >> &linout, int nrXtals, std::vector< int > &output)
void print(std::ostream &) const
const EcalTPGLinearizationConst * ecaltpLin_
const EcalTPGStripStatus * ecaltpgStripStatus_
Linearisation for Fenix strip input: 16 bits corresponding to input EBDataFrame output: 18 bits...
virtual ~EcalFenixStrip()
EcalFenixStrip(const EcalElectronicsMapping *theMapping, bool debug, bool famos, int maxNrSamples, int nbMaxXtals, bool TPinfoPrintout)
const EcalTPGCrystalStatus * ecaltpgBadX_
std::vector< int > even_filt_out_
EcalTriggerElectronicsId getTriggerElectronicsId(const DetId &id) const
Get the trigger electronics id for this det id.
EcalFenixStripFgvbEE * getFGVB() const
EcalFenixPeakFinder * peak_finder_
const EcalTPGWeightIdMap * ecaltpgWeightMap_
const EcalTPGWeightGroup * ecaltpgWeightGroup_
calculates .... for Fenix strip, barrel input: 18 bits output: 18 bits
std::vector< int > odd_peak_out_
EcalFenixOddAmplitudeFilter * getOddFilter() const
const EcalTPGPedestals * ecaltpPed_
std::vector< int > fgvb_out_
EcalFenixEtStrip * getAdder() const
const EcalTPGFineGrainStripEE * ecaltpgFgStripEE_
EcalFenixStripFormatEB * getFormatterEB() const
const EcalTPGTPMode * ecaltpgTPMode_
void setParameters(uint32_t raw, const EcalTPGWeightIdMap *ecaltpgWeightMap, const EcalTPGWeightGroup *ecaltpgWeightGroup)
std::vector< int > format_out_
EcalFenixStripFormatEE * getFormatterEE() const
EcalFenixAmplitudeFilter * amplitude_filter_
EcalFenixStripFormatEE * fenixFormatterEE_
EcalFenixLinearizer * getLinearizer(int i) const
Log< level::Warning, false > LogWarning
Ecal trigger electronics identification [32:20] Unused (so far) [19:13] TCC id [12:6] TT id [5:3] pse...
EcalFenixEtStrip * adder_
std::vector< int > fgvb_out_temp_
uint16_t *__restrict__ uint16_t const *__restrict__ adc
void setParameters(uint32_t raw, const EcalTPGOddWeightIdMap *ecaltpgOddWeightMap, const EcalTPGOddWeightGroup *ecaltpgOddWeightGroup)