Skip to content

Commit

Permalink
Merge pull request #29039 from casarsa/mc-simMTD-premixTuning
Browse files Browse the repository at this point in the history
MTD simulation: premixing tuning
  • Loading branch information
cmsbuild committed Feb 27, 2020
2 parents 71d054b + 2358a53 commit b09f9d0
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 11 deletions.
16 changes: 7 additions & 9 deletions DataFormats/FTLDigi/interface/PMTDSimAccumulator.h
Expand Up @@ -29,23 +29,21 @@ class PMTDSimAccumulator {
};
class Data {
public:
constexpr static unsigned energyOffset = 14;
constexpr static unsigned energyOffset = 4;
constexpr static unsigned energyMask = 0x3;
constexpr static unsigned sampleOffset = 10;
constexpr static unsigned sampleMask = 0xf;
constexpr static unsigned dataOffset = 0;
constexpr static unsigned dataMask = 0x3ff;
constexpr static unsigned dataMask = 0xffff;

Data() : data_(0) {}
Data(unsigned short ei, unsigned short si, unsigned short d)
: data_((ei << energyOffset) | (si << sampleOffset) | d) {}
Data() : data_(0), indices_(0) {}
Data(unsigned short ei, unsigned short si, unsigned short d) : data_(d), indices_((ei << energyOffset) | si) {}

unsigned int energyIndex() const { return data_ >> energyOffset; }
unsigned int sampleIndex() const { return (data_ >> sampleOffset) & sampleMask; }
unsigned int energyIndex() const { return indices_ >> energyOffset; }
unsigned int sampleIndex() const { return indices_ & sampleMask; }
unsigned int data() const { return data_ & dataMask; }

private:
unsigned short data_;
unsigned char indices_;
};

PMTDSimAccumulator() = default;
Expand Down
4 changes: 2 additions & 2 deletions SimFastTiming/FastTimingCommon/interface/MTDDigitizer.h
Expand Up @@ -66,7 +66,7 @@ namespace mtd_digitizer {

const float minPackChargeLog = minCharge > 0.f ? std::log(minCharge) : -2;
const float maxPackChargeLog = std::log(maxCharge);
constexpr uint16_t base = 1 << PMTDSimAccumulator::Data::sampleOffset;
constexpr uint16_t base = PMTDSimAccumulator::Data::dataMask;

simResult.reserve(simData.size());
// mimicking the digitization
Expand Down Expand Up @@ -96,7 +96,7 @@ namespace mtd_digitizer {
const float maxCharge) {
const float minPackChargeLog = minCharge > 0.f ? std::log(minCharge) : -2;
const float maxPackChargeLog = std::log(maxCharge);
constexpr uint16_t base = 1 << PMTDSimAccumulator::Data::sampleOffset;
constexpr uint16_t base = PMTDSimAccumulator::Data::dataMask;

for (const auto& detIdIndexHitInfo : simAccumulator) {
auto foo = simData.emplace(
Expand Down

0 comments on commit b09f9d0

Please sign in to comment.