73 calibdigiHBHEthreshold_ = iConfig.
getParameter<
double>(
"calibdigiHBHEthreshold");
75 calibdigiHFthreshold_ = iConfig.
getParameter<
double>(
"calibdigiHFthreshold");
80 std::vector<double> TS4TS5UpperThresholdTemp = iConfig.
getParameter<std::vector<double> >(
"TS4TS5UpperThreshold");
81 std::vector<double> TS4TS5UpperCutTemp = iConfig.
getParameter<std::vector<double> >(
"TS4TS5UpperCut");
82 std::vector<double> TS4TS5LowerThresholdTemp = iConfig.
getParameter<std::vector<double> >(
"TS4TS5LowerThreshold");
83 std::vector<double> TS4TS5LowerCutTemp = iConfig.
getParameter<std::vector<double> >(
"TS4TS5LowerCut");
85 for(
int i = 0;
i < (
int)TS4TS5UpperThresholdTemp.size() &&
i < (
int)TS4TS5UpperCutTemp.size();
i++)
86 TS4TS5UpperCut_.push_back(std::pair<double, double>(TS4TS5UpperThresholdTemp[
i], TS4TS5UpperCutTemp[i]));
89 for(
int i = 0; i < (
int)TS4TS5LowerThresholdTemp.size() && i < (
int)TS4TS5LowerCutTemp.size(); i++)
90 TS4TS5LowerCut_.push_back(std::pair<double, double>(TS4TS5LowerThresholdTemp[i], TS4TS5LowerCutTemp[i]));
96 edm::LogWarning(
"HCalNoiseInfoProducer") <<
" forcing fillRecHits to be true if fillDigis is true.\n";
108 edm::LogWarning(
"MisConfiguration")<<
"Must provide equally sized lists for laserMonCBoxList, laserMonIEtaList, and laserMonIPhiList. Will not fill LaserMon\n";
109 fillLaserMonitor_=
false;
116 adc2fC= std::vector<float> {-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,
117 13.5,15.,17.,19.,21.,23.,25.,27.,29.5,32.5,35.5,38.5,42.,46.,50.,54.5,59.5,
118 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,
119 124.5,129.5,137.,147.,157.,167.,177.,187.,197.,209.5,224.5,239.5,254.5,272.,
120 292.,312.,334.5,359.5,384.5,359.5,384.5,409.5,434.5,459.5,484.5,509.5,534.5,
121 559.5,584.5,609.5,634.5,659.5,684.5,709.5,747.,797.,847.,897.,947.,997.,
122 1047.,1109.5,1184.5,1259.5,1334.5,1422.,1522.,1622.,1734.5,1859.5,1984.5,
123 1859.5,1984.5,2109.5,2234.5,2359.5,2484.5,2609.5,2734.5,2859.5,2984.5,
124 3109.5,3234.5,3359.5,3484.5,3609.5,3797.,4047.,4297.,4547.,4797.,5047.,
125 5297.,5609.5,5984.5,6359.5,6734.5,7172.,7672.,8172.,8734.5,9359.5,9984.5};
130 adc2fCHF = std::vector<float> {-3,-0.4,2.2,4.8,7.4,10,12.6,15.2,17.8,20.4,23,25.6,28.2,30.8,33.4,
131 36,41.2,46.4,51.6,56.8,62,67.2,73,80.8,88.6,96.4,104,114.4,124.8,135,
132 148,161,150,163,176,189,202,215,228,241,254,267,280,293,306,319,332,
133 343,369,395,421,447,473,499,525,564,603,642,681,733,785,837,902,967,
134 902,967,1032,1097,1162,1227,1292,1357,1422,1487,1552,1617,1682,1747,
135 1812,1877,2007,2137,2267,2397,2527,2657,2787,2982,3177,3372,3567,
136 3827,4087,4347,4672,4997,4672,4997,5322,5647,5972,6297,6622,6947,
137 7272,7597,7922,8247,8572,8897,9222,9547,10197,10847,11497,12147,
138 12797,13447,14097,15072,16047,17022,17997,19297,20597,21897,23522,25147};
148 produces<HcalNoiseRBXCollection>();
150 produces<HcalNoiseSummary>();
161 desc.
add<
double>(
"minRecHitE", 1.5);
162 desc.
add<
double>(
"minLowHitE", 10.0);
163 desc.
add<
double>(
"minHighHitE", 25.0);
164 desc.
add<
double>(
"minR45HitE", 5.0);
167 desc.
add<
double>(
"pMinERatio", 25.0);
168 desc.
add<
double>(
"pMinEZeros", 5.0);
169 desc.
add<
double>(
"pMinEEMF", 10.0);
172 desc.
add<
double>(
"minERatio", 50.0);
173 desc.
add<
double>(
"minEZeros", 10.0);
174 desc.
add<
double>(
"minEEMF", 50.0);
177 desc.
add<
double>(
"pMinE", 40.0);
178 desc.
add<
double>(
"pMinRatio", 0.75);
179 desc.
add<
double>(
"pMaxRatio", 0.85);
180 desc.
add<
int>(
"pMinHPDHits", 10);
181 desc.
add<
int>(
"pMinRBXHits", 20);
182 desc.
add<
int>(
"pMinHPDNoOtherHits", 7);
183 desc.
add<
int>(
"pMinZeros", 4);
184 desc.
add<
double>(
"pMinLowEHitTime", -6.0);
185 desc.
add<
double>(
"pMaxLowEHitTime", 6.0);
186 desc.
add<
double>(
"pMinHighEHitTime", -4.0);
187 desc.
add<
double>(
"pMaxHighEHitTime", 5.0);
188 desc.
add<
double>(
"pMaxHPDEMF", -0.02);
189 desc.
add<
double>(
"pMaxRBXEMF", 0.02);
190 desc.
add<
int>(
"pMinRBXRechitR45Count", 1);
191 desc.
add<
double>(
"pMinRBXRechitR45Fraction", 0.1);
192 desc.
add<
double>(
"pMinRBXRechitR45EnergyFraction", 0.1);
195 desc.
add<
double>(
"lMinRatio", -999.0);
196 desc.
add<
double>(
"lMaxRatio", 999.0);
197 desc.
add<
int>(
"lMinHPDHits", 17);
198 desc.
add<
int>(
"lMinRBXHits", 999);
199 desc.
add<
int>(
"lMinHPDNoOtherHits", 10);
200 desc.
add<
int>(
"lMinZeros", 10);
201 desc.
add<
double>(
"lMinLowEHitTime", -9999.0);
202 desc.
add<
double>(
"lMaxLowEHitTime", 9999.0);
203 desc.
add<
double>(
"lMinHighEHitTime", -9999.0);
204 desc.
add<
double>(
"lMaxHighEHitTime", 9999.0);
207 desc.
add<
double>(
"tMinRatio", -999.0);
208 desc.
add<
double>(
"tMaxRatio", 999.0);
209 desc.
add<
int>(
"tMinHPDHits", 16);
210 desc.
add<
int>(
"tMinRBXHits", 50);
211 desc.
add<
int>(
"tMinHPDNoOtherHits", 9);
212 desc.
add<
int>(
"tMinZeros", 8);
213 desc.
add<
double>(
"tMinLowEHitTime", -9999.0);
214 desc.
add<
double>(
"tMaxLowEHitTime", 9999.0);
215 desc.
add<
double>(
"tMinHighEHitTime", -7.0);
216 desc.
add<
double>(
"tMaxHighEHitTime", 6.0);
219 desc.
add<
double>(
"hlMaxHPDEMF", -9999.0);
220 desc.
add<
double>(
"hlMaxRBXEMF", 0.01);
223 desc.
add<
double>(
"calibdigiHBHEthreshold", 15)->
224 setComment(
"minimum threshold in fC of any HBHE \ 225 calib digi to be counted in summary");
226 desc.
add<std::vector<int>>(
"calibdigiHBHEtimeslices", {3,4,5,6,})->
227 setComment(
"time slices to use when determining charge of HBHE calib digis");
228 desc.
add<
double>(
"calibdigiHFthreshold", -999)->
229 setComment(
"minimum threshold in fC of any HF calib digi to be counted in summary");
230 desc.
add<std::vector<int>>(
"calibdigiHFtimeslices", {0,1,2,3,4,5,6,7,8,9,})->
231 setComment(
"time slices to use when determining charge of HF calib digis");
234 desc.
add<
double>(
"TS4TS5EnergyThreshold", 50);
235 desc.
add<std::vector<double>>(
"TS4TS5UpperThreshold", {70,90,100,400,4000,});
236 desc.
add<std::vector<double>>(
"TS4TS5UpperCut", {1,0.8,0.75,0.72,0.72,});
237 desc.
add<std::vector<double>>(
"TS4TS5LowerThreshold", {100,120,150,200,300,400,500,});
238 desc.
add<std::vector<double>>(
"TS4TS5LowerCut", {-1,-0.7,-0.4,-0.2,-0.08,0,0.1,});
243 desc.
add<std::vector<double>>(
"lRBXRecHitR45Cuts",
244 {0.0,1.0,0.0,-0.5,0.0,0.0,1.0,-0.5,})->
245 setComment(
"first 4 entries : equivalent to 'fraction > 0.5' \ 246 last 4 entries : equivalent to 'energy fraction > 0.5'");
247 desc.
add<std::vector<double>>(
"tRBXRecHitR45Cuts",
248 {0.0,1.0,0.0,-0.2,0.0,0.0,1.0,-0.2,})->
249 setComment(
"first 4 entries : equivalent to 'fraction > 0.2' \ 250 last 4 entries : equivalent to 'energy fraction > 0.2'" );
255 desc.
add<std::vector<int>>(
"laserMonCBoxList", {5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,})->
256 setComment(
"time ordered list of the cBox values of laser monitor channels");
257 desc.
add<std::vector<int>>(
"laserMonIPhiList", {23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0})->
258 setComment(
"time ordered list of the iPhi values of laser monitor channels");
259 desc.
add<std::vector<int>>(
"laserMonIEtaList", {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,})->
260 setComment(
"time ordered list of the iEta values of laser monitor channels");
263 desc.
add<
int>(
"laserMonTSStart", 0)->
264 setComment(
"lower bound of laser monitor charge integration window");
265 desc.
add<
int>(
"laserMonTSEnd", -1)->
266 setComment(
"upper bound of laser monitor charge integration window (-1 = no bound)");
269 desc.
add<
bool>(
"fillDigis",
true);
270 desc.
add<
bool>(
"fillRecHits",
true);
271 desc.
add<
bool>(
"fillCaloTowers",
true);
272 desc.
add<
bool>(
"fillTracks",
true);
273 desc.
add<
bool>(
"fillLaserMonitor",
true);
278 desc.
add<
int>(
"maxProblemRBXs", 72)->
279 setComment(
"maximum number of RBXs to fill. if you want to record \ 280 all RBXs above some energy threshold,change maxProblemRBXs to \ 281 999 and pMinE (above) to the threshold you want");
285 desc.
add<
int>(
"maxCaloTowerIEta", 20);
286 desc.
add<
double>(
"maxTrackEta", 2.0);
287 desc.
add<
double>(
"minTrackPt", 1.0);
288 desc.
add<
double>(
"maxNHF", 0.9);
289 desc.
add<
int>(
"maxjetindex", 0);
300 desc.
add<
unsigned int>(
"HcalAcceptSeverityLevel", 9);
305 desc.
add<std::vector<int>>(
"HcalRecHitFlagsToBeExcluded", {11,12,13,14,15,27,})->
306 setComment(
"which hcal calo flags to mask (HBHEIsolatedNoise=11, \ 307 HBHEFlatNoise=12, HBHESpikeNoise=13, \ 308 HBHETriangleNoise=14, HBHETS4TS5Noise=15, HBHENegativeNoise=27)");
311 descriptions.
add(
"hcalnoise", desc);
323 auto result1 = std::make_unique<HcalNoiseRBXCollection>();
324 auto result2 = std::make_unique<HcalNoiseSummary>();
349 HcalNoiseRBXArray::iterator maxit=rbxarray.begin();
350 double maxenergy=-999;
351 bool maxwritten=
false;
352 for(HcalNoiseRBXArray::iterator rit = rbxarray.begin(); rit!=rbxarray.end(); ++rit) {
358 if(data.
energy()>maxenergy) {
374 result1->push_back(rbx);
375 if(maxit==rit) maxwritten=
true;
385 result1->push_back(rbx);
502 int NcalibTS45gt15=0;
505 double chargecalibTS45=0;
506 double chargecalibgt15TS45=0;
553 bool isBig=
false, isBig5=
false, isRBX=
false;
558 const HcalDetId & detid = (*rit)->idFront();
559 if(
DetId(detid) == digi.
id()) {
560 if(counter==0) isBig=isBig5=
true;
561 if(counter<5) isBig5=
true;
570 for(
int ts=0; ts<tool.
size(); ++ts) {
573 if(digi[ts].
adc()==0) {
579 double corrfc = tool[ts]-calibrations.
pedestal(digi[ts].capid());
608 if(digi->id().hcalSubdet() == 0)
612 for(
unsigned i = 0;
i < (unsigned)digi->size();
i++)
619 if(digi->zsMarkAndPass())
continue;
624 double sumChargeHF=0;
636 double sumChargeHBHE=0;
645 chargecalibTS45+=sumChargeHBHE;
649 chargecalibgt15TS45+=sumChargeHBHE;
657 std::vector<std::vector<int> > lasmon_adcs(
laserMonCBoxList_.size(), std::vector<int>());
658 std::vector<std::vector<int> > lasmon_capids(
laserMonCBoxList_.size(), std::vector<int>());
660 unsigned max_nsamples = 0;
669 int iphi = calibId.iphi();
670 int ieta = calibId.ieta();
680 unsigned ts_size = df.
samples();
681 if( ts_size > max_nsamples ) max_nsamples = ts_size;
682 for(
unsigned i = 0;
i < ts_size;
i++) {
683 bool ok = df[
i].ok();
685 lasmon_adcs[
idx].push_back( -1 );
686 lasmon_capids[
idx].push_back( -1 );
688 lasmon_adcs[
idx].push_back( df[
i].
adc() );
689 lasmon_capids[
idx].push_back( df[
i].capid() );
701 lasmon_adcs[
idx] = std::vector<int>(max_nsamples, -1);
704 lasmon_capids[
idx] = std::vector<int>(max_nsamples, -1);
712 std::vector<unsigned> matching_idx;
716 for(
unsigned fidx = 0; nFibers > 0 && (fidx < (nFibers - 1)); ++fidx ) {
718 unsigned nts = lasmon_capids[fidx].size();
726 int start_ts = nts - 1;
730 int latest_cap_match = -1;
733 for(
unsigned ncheck = 1; ncheck <= nts ; ncheck++ ) {
734 bool cap_match =
true;
735 bool adc_match =
true;
738 for(
unsigned lidx = 0; lidx < ncheck; lidx++) {
741 unsigned eidx = nts-ncheck+lidx;
745 if( lasmon_capids[fidx][eidx] == -1 || lasmon_capids[fidx+1][lidx] == -1 ) {
751 if( lasmon_capids[fidx][eidx] != lasmon_capids[fidx+1][lidx] ) {
755 if( lasmon_adcs[fidx][eidx] != lasmon_adcs[fidx+1][lidx] ) {
759 if( cap_match && (start_ts > latest_cap_match) ) {
760 latest_cap_match = start_ts;
762 if( cap_match && adc_match ) {
775 if( start_ts == -1 ) {
777 if( latest_cap_match < 0 ) {
790 if( latest_cap_match ==
int(nts - 4) ) {
793 start_ts = latest_cap_match;
799 matching_idx.push_back(start_ts);
803 matching_idx.push_back(max_nsamples);
807 for(
unsigned fidx = 0 ; fidx < nFibers; ++fidx ) {
808 for(
unsigned its = 0; its < matching_idx[fidx]; ++its ) {
815 int adc = lasmon_adcs[fidx][its];
863 <<
" could not find HBHERecHitCollection named " <<
recHitCollName_ <<
"\n.";
886 uint32_t recHitFlag = rechit.
flags();
895 recHitFlag = (recHitFlag & bitset) ? recHitFlag-bitset : recHitFlag;
903 bool isRecovered = hcalSevLvlComputer->
recoveredRecHit(
id, recHitFlag);
920 if(rechit.
eraw() > 1.5)
931 if(rechit.
flags() & isolbitset) {
935 double et = rechit.
eraw()*gp.perp()/gp.mag();
939 if(rechit.
flags() & flatbitset) {
943 double et = rechit.
eraw()*gp.perp()/gp.mag();
947 if(rechit.
flags() & spikebitset) {
951 double et = rechit.
eraw()*gp.perp()/gp.mag();
955 if(rechit.
flags() & trianglebitset) {
959 double et = rechit.
eraw()*gp.perp()/gp.mag();
963 if(rechit.
flags() & ts4ts5bitset) {
969 double et = rechit.
eraw()*gp.perp()/gp.mag();
974 if(rechit.
flags() & negativebitset) {
978 double et = rechit.
eraw()*gp.perp()/gp.mag();
994 for(HcalNoiseRBXArray::iterator rbxit=array.begin(); rbxit!=array.end(); ++rbxit) {
995 for(std::vector<HcalNoiseHPD>::iterator hpdit=rbxit->hpds_.begin(); hpdit!=rbxit->hpds_.end(); ++hpdit) {
999 it=hpdit->refrechitset_.begin(); it!=hpdit->refrechitset_.end(); ++it) {
1000 hpdit->rechits_.push_back(*it);
1034 std::vector<std::vector<HcalNoiseHPD>::iterator> hpditervec;
1035 array.
findHPD(twr, hpditervec);
1038 for(std::vector<std::vector<HcalNoiseHPD>::iterator>::iterator it=hpditervec.begin();
1039 it!=hpditervec.end(); ++it)
1040 (*it)->calotowers_.push_back(myRef);
1056 bool goodJetFoundInLowBVRegion =
false;
1067 for(reco::PFJetCollection::const_iterator
jet = pfjet_h->begin();
1068 jet != pfjet_h->end(); ++
jet)
1074 if (
jet->eta()>0.0 &&
jet->eta()<1.4 &&
1075 jet->phi()>-1.8 &&
jet->phi()<-1.4)
1081 goodJetFoundInLowBVRegion=
true;
1109 for(reco::TrackCollection::const_iterator iTrack = handle->begin(); iTrack!=handle->end(); ++iTrack) {
int adc(sample_type sample)
get the ADC sample (12 bits)
int samples() const
total number of samples in the digi
double HPDEMF(void) const
double p() const
momentum vector magnitude
T getParameter(std::string const &) const
edm::RefVector< CaloTowerCollection > hlnoisetwrs_
edm::EDGetTokenT< QIE10DigiCollection > lasermondigi_token_
double lowEHitTimeSqrd(void) const
std::vector< int > calibdigiHFtimeslices_
std::vector< int > HcalRecHitFlagsToBeExcluded_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool isProblematic(const CommonHcalNoiseRBXData &) const
bool passTightRatio(const CommonHcalNoiseRBXData &) const
bool zsMarkAndPass() const
was ZS MarkAndPass?
double minLowEHitTime(void) const
std::string caloTowerCollName_
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
bool passLooseRatio(const CommonHcalNoiseRBXData &) const
CalibDetType calibFlavor() const
get the flavor of this calibration detid
void fillrechits(edm::Event &, const edm::EventSetup &, HcalNoiseRBXArray &, HcalNoiseSummary &) const
bool passTightRBXRechitR45(const CommonHcalNoiseRBXData &) const
double maxHighEHitTime(void) const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
bool passTightTiming(const CommonHcalNoiseRBXData &) const
double maxLowEHitTime(void) const
#define DEFINE_FWK_MODULE(type)
int numLowEHits(void) const
double energyInLaserRegion_
void produce(edm::Event &, const edm::EventSetup &) override
std::vector< std::pair< double, double > > TS4TS5LowerCut_
HcalDetId id() const
get the id
uint32_t auxPhase1() const
std::vector< float > adc2fC
std::set< edm::Ref< HBHERecHitCollection >, RefHBHERecHitEnergyComparison > refrechitset_
std::vector< HBHEDataFrame >::const_iterator const_iterator
std::vector< float > bigCharge_
float maxE2Over10TS(void) const
edm::RefVector< CaloTowerCollection > loosenoisetwrs_
void fillcalotwrs(edm::Event &, const edm::EventSetup &, HcalNoiseRBXArray &, HcalNoiseSummary &) const
std::vector< float > big5Charge_
double pedestal(int fCapId) const
get pedestal for capid=0..3
HcalDetId idFront() const
const Item * getValues(DetId fId, bool throwOnFail=true) const
const_iterator begin() const
int hitsInNonLaserRegion_
bool passLooseRBXRechitR45(const CommonHcalNoiseRBXData &) const
const_iterator end() const
Termination of iteration.
float min25GeVHitTime(void) const
std::string digiCollName_
bool passHighLevelNoiseFilter(const CommonHcalNoiseRBXData &) const
std::string trackCollName_
const_iterator begin() const
Initialize an iterator over the RefVector.
double RBXEMF(void) const
edm::RefVector< HBHERecHitCollection > rechits_
edm::EDGetTokenT< reco::PFJetCollection > jet_token_
int numRBXHits(void) const
uint32_t rawId() const
get the raw id
float min10GeVHitTime(void) const
HcalNoiseRBXArray::iterator findRBX(int rbxindex)
static const unsigned OFF_TDC_TIME
double highEHitTimeSqrd(void) const
void adc2fC(const HBHEDataFrame &df, CaloSamples &lf) const override
float minE2Over10TS(void) const
double eta() const
pseudorapidity of momentum vector
bool passLooseZeros(const CommonHcalNoiseRBXData &) const
bool goodJetFoundInLowBVRegion_
~HcalNoiseInfoProducer() override
int maxRBXHits(void) const
bool passTightZeros(const CommonHcalNoiseRBXData &) const
std::vector< int > laserMonIPhiList_
double TS4TS5EnergyThreshold_
void filljetinfo(edm::Event &, const edm::EventSetup &, HcalNoiseSummary &) const
double pt() const
track transverse momentum
bool recoveredRecHit(const DetId &myid, const uint32_t &myflag) const
int numHighEHits(void) const
bool hasBadRBXRechitR45Loose_
edm::EDGetTokenT< HcalCalibDigiCollection > hcalcalibdigi_token_
std::vector< float > adc2fCHF
GlobalPoint getPosition(const DetId &id) const
Get the position of a given detector id.
bool passRatioThreshold(const CommonHcalNoiseRBXData &) const
std::vector< HcalNoiseHPD >::iterator findHPD(int hpdindex)
bool hasBadRBXRechitR45Tight_
bool dropChannel(const uint32_t &mystatus) const
int numHPDNoOtherHits(void) const
edm::EDGetTokenT< HBHEDigiCollection > hbhedigi_token_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
double calibdigiHFthreshold_
bool passZerosThreshold(const CommonHcalNoiseRBXData &) const
std::vector< std::pair< double, double > > TS4TS5UpperCut_
float minHPDEMF(void) const
bool passLooseNoiseFilter(const CommonHcalNoiseRBXData &) const
edm::RefVector< CaloTowerCollection > rbxTowers(void) const
const_iterator end() const
std::vector< float > allCharge_
double calibdigiHBHEthreshold_
edm::EDGetTokenT< reco::TrackCollection > track_token_
bool passLooseHits(const CommonHcalNoiseRBXData &) const
std::vector< int > laserMonIEtaList_
static std::string join(char **cmd)
edm::EDGetTokenT< HBHERecHitCollection > hbherechit_token_
int size() const
get the size
uint32_t HcalAcceptSeverityLevel_
void filldigis(edm::Event &, const edm::EventSetup &, HcalNoiseRBXArray &, HcalNoiseSummary &)
edm::RefVector< CaloTowerCollection > tightnoisetwrs_
const HcalQIECoder * getHcalCoder(const HcalGenericDetId &fId) const
int getSeverityLevel(const DetId &myid, const uint32_t &myflag, const uint32_t &mystatus) const
void add(std::string const &label, ParameterSetDescription const &psetDescription)
et
define resolution functions of each parameter
double energy(void) const
const HcalQIEShape * getHcalShape(const HcalGenericDetId &fId) const
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
const_iterator end() const
int cboxChannel() const
get the calibration box channel (if relevant)
std::vector< int > laserMonCBoxList_
bool passLooseTiming(const CommonHcalNoiseRBXData &) const
bool passTightNoiseFilter(const CommonHcalNoiseRBXData &) const
int maxHPDNoOtherHits(void) const
char data[epos_bytes_allocation]
double minHighEHitTime(void) const
static std::atomic< unsigned int > counter
double energyInNonLaserRegion_
float minRBXEMF(void) const
static const unsigned OFF_COMBINED
std::vector< int > calibdigiHBHEtimeslices_
const HcalTopology * theHcalTopology_
const HcalDetId & id() const
bool PassTS4TS5(void) const
uint32_t getValue() const
bool passEMFThreshold(const CommonHcalNoiseRBXData &) const
bool getBit(const uint32_t u, const unsigned bitnum)
void filltracks(edm::Event &, const edm::EventSetup &, HcalNoiseSummary &) const
const HcalCalibrations & getHcalCalibrations(const HcalGenericDetId &fId) const
HcalNoiseInfoProducer(const edm::ParameterSet &)
void fillOtherSummaryVariables(HcalNoiseSummary &summary, const CommonHcalNoiseRBXData &data) const
int maxHPDHits(void) const
int numHPDHits(void) const
T const * product() const
std::string recHitCollName_
float max25GeVHitTime(void) const
float max10GeVHitTime(void) const
const_iterator begin() const
double calibChargegt15TS45_
bool validRatio(void) const
bool passTightHits(const CommonHcalNoiseRBXData &) const
edm::EDGetTokenT< CaloTowerCollection > calotower_token_