35 hcalDigiCollection_(iConfig.getParameter<
edm::InputTag>(
"hcalDigiCollection")),
36 timeSlices_(iConfig.getParameter<
std::vector<
int> >(
"timeSlices")),
37 thresholdsfC_(iConfig.getParameter<
std::vector<double> >(
"thresholdsfC")),
38 CalibCountFilterValues_(iConfig.getParameter<
std::vector<
int> >(
"CalibCountFilterValues")),
39 CalibChargeFilterValues_(iConfig.getParameter<
std::vector<double> >(
"CalibChargeFilterValues")),
40 maxTotalCalibCharge_(iConfig.getParameter<double>(
"maxTotalCalibCharge")),
41 maxAllowedHFcalib_(iConfig.getParameter<
int>(
"maxAllowedHFcalib"))
56 desc.
add<
double>(
"maxTotalCalibCharge",-1);
58 std::vector<int> dummy_vint;
59 std::vector<double> dummy_vdouble;
61 desc.
add<std::vector<int> >(
"timeSlices",dummy_vint);
62 desc.
add<std::vector<double> >(
"thresholdsfC",dummy_vdouble);
63 desc.
add<std::vector<int> >(
"CalibCountFilterValues",dummy_vint);
64 desc.
add<std::vector<double> >(
"CalibChargeFilterValues",dummy_vdouble);
65 desc.
add<
int>(
"maxAllowedHFcalib",-1);
66 descriptions.
add(
"hltHcalLaserFilter",desc);
81 double totalCalibCharge=0;
84 std::vector<int> CalibCount;
85 std::vector<double> CalibCharge;
88 CalibCount.push_back(0);
89 CalibCharge.push_back(0);
92 const float adc2fC[128]={-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,
93 13.5,15.,17.,19.,21.,23.,25.,27.,29.5,32.5,35.5,38.5,42.,46.,50.,54.5,59.5,
94 64.5,59.5,64.5,69.5,74.5,79.5,84.5,89.5,94.5,99.5,104.5,109.5,114.5,119.5,
95 124.5,129.5,137.,147.,157.,167.,177.,187.,197.,209.5,224.5,239.5,254.5,272.,
96 292.,312.,334.5,359.5,384.5,359.5,384.5,409.5,434.5,459.5,484.5,509.5,534.5,
97 559.5,584.5,609.5,634.5,659.5,684.5,709.5,747.,797.,847.,897.,947.,997.,
98 1047.,1109.5,1184.5,1259.5,1334.5,1422.,1522.,1622.,1734.5,1859.5,1984.5,
99 1859.5,1984.5,2109.5,2234.5,2359.5,2484.5,2609.5,2734.5,2859.5,2984.5,
100 3109.5,3234.5,3359.5,3484.5,3609.5,3797.,4047.,4297.,4547.,4797.,5047.,
101 5297.,5609.5,5984.5,6359.5,6734.5,7172.,7672.,8172.,8734.5,9359.5,9984.5};
108 for(
auto const & digi : *hCalib)
110 if(digi.id().hcalSubdet() == 0)
121 for(
int i = 0;
i < (
int)digi.size();
i++)
122 totalCalibCharge = totalCalibCharge + adc2fC[digi.sample(
i).adc()&0xff];
129 int digisize=(
int)digi.size();
131 for (
unsigned int ts=0;ts<NTS;++ts)
134 sumCharge+=adc2fC[digi.sample(
timeSlices_[ts]).adc()&0xff];
143 CalibCharge[
thresh]+=sumCharge;
164 if (numHFcalib>maxAllowedHFcalib_)
CalibDetType calibFlavor() const
get the flavor of this calibration detid
bool getByToken(EDGetToken token, Handle< PROD > &result) const
bool filter(edm::Event &, const edm::EventSetup &) override
std::vector< double > thresholdsfC_
double maxTotalCalibCharge_
std::vector< int > CalibCountFilterValues_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
HLTHcalLaserFilter(const edm::ParameterSet &)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector< int > timeSlices_
edm::EDGetTokenT< HcalCalibDigiCollection > m_theCalibToken
edm::InputTag hcalDigiCollection_
HcalSubdetector hcalSubdet() const
get the HcalSubdetector (if relevant)
std::vector< double > CalibChargeFilterValues_
~HLTHcalLaserFilter() override