Skip to content

Commit

Permalink
differentiate TP npresamples from npresamples used by FIR filter
Browse files Browse the repository at this point in the history
  • Loading branch information
Josh Hiltbrand committed Oct 16, 2020
1 parent 90fe405 commit 167641d
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ class HcalTriggerPrimitiveAlgo {
uint32_t ZS_threshold,
int numberOfSamples,
int numberOfPresamples,
int numberOfPresamplesHBQIE11,
int numberOfPresamplesHEQIE11,
int numberOfFilterPresamplesHBQIE11,
int numberOfFilterPresamplesHEQIE11,
int numberOfSamplesHF,
int numberOfPresamplesHF,
bool useTDCInMinBiasBits,
Expand Down Expand Up @@ -132,8 +132,8 @@ class HcalTriggerPrimitiveAlgo {
int ZS_threshold_I_;
int numberOfSamples_;
int numberOfPresamples_;
int numberOfPresamplesHBQIE11_;
int numberOfPresamplesHEQIE11_;
int numberOfFilterPresamplesHBQIE11_;
int numberOfFilterPresamplesHEQIE11_;
int numberOfSamplesHF_;
int numberOfPresamplesHF_;
bool useTDCInMinBiasBits_;
Expand Down
25 changes: 15 additions & 10 deletions SimCalorimetry/HcalTrigPrimAlgos/src/HcalTriggerPrimitiveAlgo.cc
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ HcalTriggerPrimitiveAlgo::HcalTriggerPrimitiveAlgo(bool pf,
uint32_t ZS_threshold,
int numberOfSamples,
int numberOfPresamples,
int numberOfPresamplesHBQIE11,
int numberOfPresamplesHEQIE11,
int numberOfFilterPresamplesHBQIE11,
int numberOfFilterPresamplesHEQIE11,
int numberOfSamplesHF,
int numberOfPresamplesHF,
bool useTDCInMinBiasBits,
Expand All @@ -46,8 +46,8 @@ HcalTriggerPrimitiveAlgo::HcalTriggerPrimitiveAlgo(bool pf,
ZS_threshold_(ZS_threshold),
numberOfSamples_(numberOfSamples),
numberOfPresamples_(numberOfPresamples),
numberOfPresamplesHBQIE11_(numberOfPresamplesHBQIE11),
numberOfPresamplesHEQIE11_(numberOfPresamplesHEQIE11),
numberOfFilterPresamplesHBQIE11_(numberOfFilterPresamplesHBQIE11),
numberOfFilterPresamplesHEQIE11_(numberOfFilterPresamplesHEQIE11),
numberOfSamplesHF_(numberOfSamplesHF),
numberOfPresamplesHF_(numberOfPresamplesHF),
useTDCInMinBiasBits_(useTDCInMinBiasBits),
Expand Down Expand Up @@ -378,22 +378,27 @@ void HcalTriggerPrimitiveAlgo::analyzeQIE11(IntegerCaloSamples& samples,
// Get the |ieta| for current sample
unsigned int theIeta = detId.ietaAbs();

unsigned int dgSamples = samples.size();
unsigned int dgPresamples = samples.presamples();
unsigned int tpSamples = weightsQIE11_[theIeta].size();
unsigned int tpPresamples = (theIeta <= HBHE_OVERLAP_TOWER) ? numberOfPresamplesHBQIE11_ : numberOfPresamplesHEQIE11_;

unsigned int tpSamples = numberOfSamples_;
unsigned int tpPresamples = numberOfPresamples_;

unsigned int filterSamples = weightsQIE11_[theIeta].size();

unsigned int shift = dgPresamples - tpPresamples;
unsigned int dgSamples = samples.size();

unsigned int shrink = tpSamples - 1;
// shrink keeps the FIR filter from going off the end of the 8TS vector
unsigned int shrink = filterSamples - 1;

auto& msb = fgUpgradeMap_[samples.id()];
IntegerCaloSamples sum(samples.id(), samples.size());

std::vector<HcalTrigTowerDetId> ids = theTrigTowerGeometry->towerIds(detId);
//slide algo window
for (unsigned int ibin = 0; ibin < dgSamples - shrink; ++ibin) {
int algosumvalue = 0;
for (unsigned int i = 0; i < tpSamples; i++) {
for (unsigned int i = 0; i < filterSamples; i++) {
//add up value * scale factor
// In addition, divide by two in the 10 degree phi segmentation region
// to mimic 5 degree segmentation for the trigger
Expand Down Expand Up @@ -429,7 +434,7 @@ void HcalTriggerPrimitiveAlgo::analyzeQIE11(IntegerCaloSamples& samples,
// ibin - index for output TP
// idx - index for samples + shift - tpPresamples
// Subtract tpPresamples one more time to get SOI in the right position
int idx = ibin + shift - tpPresamples;
int idx = ibin + shift;

// When idx is <= 0 peakfind would compare out-of-bounds of the vector. Avoid this ambiguity
if (idx <= 0) {
Expand Down
4 changes: 2 additions & 2 deletions SimCalorimetry/HcalTrigPrimProducers/python/hcaltpdigi_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@
numberOfPresamples = cms.int32(2),
numberOfSamplesHF = cms.int32(4),
numberOfPresamplesHF = cms.int32(2),
numberOfPresamplesHBQIE11 = cms.int32(0),
numberOfPresamplesHEQIE11 = cms.int32(0),
numberOfFilterPresamplesHBQIE11 = cms.int32(0),
numberOfFilterPresamplesHEQIE11 = cms.int32(0),
useTDCInMinBiasBits = cms.bool(False), # TDC information not used in MB fine grain bits
MinSignalThreshold = cms.uint32(0), # For HF PMT veto
PMTNoiseThreshold = cms.uint32(0), # For HF PMT veto
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ HcalTrigPrimDigiProducer::HcalTrigPrimDigiProducer(const edm::ParameterSet& ps)
ps.getParameter<uint32_t>("ZS_threshold"),
ps.getParameter<int>("numberOfSamples"),
ps.getParameter<int>("numberOfPresamples"),
ps.getParameter<int>("numberOfPresamplesHBQIE11"),
ps.getParameter<int>("numberOfPresamplesHEQIE11"),
ps.getParameter<int>("numberOfFilterPresamplesHBQIE11"),
ps.getParameter<int>("numberOfFilterPresamplesHEQIE11"),
ps.getParameter<int>("numberOfSamplesHF"),
ps.getParameter<int>("numberOfPresamplesHF"),
ps.getParameter<bool>("useTDCInMinBiasBits"),
Expand Down

0 comments on commit 167641d

Please sign in to comment.