ATLAS Offline Software
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
CSC_Digitizer Class Reference

#include <CSC_Digitizer.h>

Collaboration diagram for CSC_Digitizer:

Public Member Functions

 CSC_Digitizer (const CscHitIdHelper *cscHitHelper, const MuonGM::MuonDetectorManager *muonMgr, ICscCalibTool *pcalib)
 
 ~CSC_Digitizer ()=default
 
StatusCode initialize ()
 
void setWindow (const double t1, const double t2)
 
void set (const double bunchTime)
 
void setAmplification (const double amplification)
 
void setDebug (int debug)
 
void setDriftVelocity (double v0)
 
void setElectronEnergy (double e)
 
void setNInterFixed ()
 
StatusCode digitize_hit (const CSCSimHit *cscHit, std::vector< IdentifierHash > &hashVec, std::map< IdentifierHash, std::pair< double, double > > &data_map, CLHEP::HepRandomEngine *rndmEngine)
 
StatusCode digitize_hit (const CSCSimHit *cscHit, std::vector< IdentifierHash > &hashVec, std::map< IdentifierHash, std::vector< float > > &data_SampleMap, std::map< IdentifierHash, std::vector< float > > &data_SampleMapOddPhase, CLHEP::HepRandomEngine *rndmEngine)
 
StatusCode digitize_hit (const CSCSimHit *cscHit, std::vector< IdentifierHash > &hashVec, std::map< IdentifierHash, std::vector< float > > &data_SampleMap, CLHEP::HepRandomEngine *rndmEngine)
 
IdentifierHash getHashId (const Identifier &input_id, const int stripId, const int measuresPhi) const
 

Private Member Functions

double qWire (const int &nElectrons, const double &gammaDist) const
 
double qStripR (const double x, const Identifier &id) const
 Charge sharing profile. More...
 
double qStripPhi (const double x, const Identifier &id) const
 
double getDriftTime (const MuonGM::CscReadoutElement *descriptor, const Amg::Vector3D &pos) const
 
bool outsideWindow (double time) const
 
void fillMaps (const IdentifierHash hash, const double driftTime, const double stripCharge, std::vector< IdentifierHash > &hashVec, std::map< IdentifierHash, std::pair< double, double > > &data_map)
 
void fillSampleMaps (const IdentifierHash hash, const double driftTime, const double stripCharge, std::vector< IdentifierHash > &hashVec, std::map< IdentifierHash, std::vector< float > > &data_map, bool phase=0)
 
Identifier to_identifier (const CSCSimHit *cscHit) const
 

Static Private Member Functions

static double qStripR (const double x)
 
static double fparamPhi (const double x, const std::array< double, 9 > &p)
 

Private Attributes

const CscHitIdHelperm_cscHitHelper {nullptr}
 
const MuonGM::MuonDetectorManagerm_muonMgr {nullptr}
 
const CscIdHelperm_cscIdHelper {nullptr}
 
ICscCalibToolm_pcalib {nullptr}
 
bool m_NInterFromEnergyLoss {true}
 
double m_electronEnergy {66.}
 
double m_Polia {0.}
 
std::array< double, s_maxElectronm_sprob {0.}
 
double m_timeWindowLowerOffset {0.}
 
double m_timeWindowUpperOffset {0.}
 
double m_bunchTime {0.}
 
double m_amplification {0.}
 
double m_driftVelocity {60.}
 
int m_debug {0}
 
std::map< char, int > m_stationDict {}
 Cache the csc id dictionary. More...
 

Static Private Attributes

static constexpr int s_maxElectron {21}
 

Detailed Description

Definition at line 37 of file CSC_Digitizer.h.

Constructor & Destructor Documentation

◆ CSC_Digitizer()

CSC_Digitizer::CSC_Digitizer ( const CscHitIdHelper cscHitHelper,
const MuonGM::MuonDetectorManager muonMgr,
ICscCalibTool pcalib 
)

CSL / CSS

Definition at line 23 of file CSC_Digitizer.cxx.

23  :
24  m_cscHitHelper{cscHitHelper}, m_muonMgr{muonMgr}, m_cscIdHelper{m_muonMgr->cscIdHelper()}, m_pcalib{pcalib} {
28 }

◆ ~CSC_Digitizer()

CSC_Digitizer::~CSC_Digitizer ( )
default

Member Function Documentation

◆ digitize_hit() [1/3]

StatusCode CSC_Digitizer::digitize_hit ( const CSCSimHit cscHit,
std::vector< IdentifierHash > &  hashVec,
std::map< IdentifierHash, std::pair< double, double > > &  data_map,
CLHEP::HepRandomEngine *  rndmEngine 
)

◆ digitize_hit() [2/3]

StatusCode CSC_Digitizer::digitize_hit ( const CSCSimHit cscHit,
std::vector< IdentifierHash > &  hashVec,
std::map< IdentifierHash, std::vector< float > > &  data_SampleMap,
CLHEP::HepRandomEngine *  rndmEngine 
)

◆ digitize_hit() [3/3]

StatusCode CSC_Digitizer::digitize_hit ( const CSCSimHit cscHit,
std::vector< IdentifierHash > &  hashVec,
std::map< IdentifierHash, std::vector< float > > &  data_SampleMap,
std::map< IdentifierHash, std::vector< float > > &  data_SampleMapOddPhase,
CLHEP::HepRandomEngine *  rndmEngine 
)

◆ fillMaps()

void CSC_Digitizer::fillMaps ( const IdentifierHash  hash,
const double  driftTime,
const double  stripCharge,
std::vector< IdentifierHash > &  hashVec,
std::map< IdentifierHash, std::pair< double, double > > &  data_map 
)
private

Definition at line 709 of file CSC_Digitizer.cxx.

710  {
711  if (stripCharge == 0.0) return;
712 
713  // fill the CSC specific charge map the conversion hash -. id is done later !
714  if (data_map.find(hashId) != data_map.end()) {
715  /*
716  http://indico.cern.ch/getFile.py/access?contribId=9&resId=0&materialId=slides&confId=106902
717  */
718  std::pair<double, double> result = m_pcalib->addBipfunc(data_map[hashId].first, data_map[hashId].second, driftTime, stripCharge);
719  // To check out conversion is correct...
720  if (m_debug)
721  std::cout << "[CSC_Digitizer::fillMaps] (" << data_map[hashId].first << ":" << int(data_map[hashId].second) << ")"
722  << "+(" << driftTime << ":" << int(stripCharge) << ")"
723  << " ==> " << result.first << ":" << int(result.second) << " e- which was "
724  << int(data_map[hashId].second + stripCharge) << std::endl;
725 
726  data_map[hashId].first = result.first;
727  data_map[hashId].second = result.second;
728 
729  } else {
730  data_map[hashId].first = driftTime;
731  data_map[hashId].second = stripCharge;
732  hashVec.push_back(hashId);
733  }
734 }

◆ fillSampleMaps()

void CSC_Digitizer::fillSampleMaps ( const IdentifierHash  hash,
const double  driftTime,
const double  stripCharge,
std::vector< IdentifierHash > &  hashVec,
std::map< IdentifierHash, std::vector< float > > &  data_map,
bool  phase = 0 
)
private

Definition at line 556 of file CSC_Digitizer.cxx.

558  {
559  if (stripCharge == 0.0) return;
560 
561  // fill the CSC specific charge map the conversion hash -. id is done later !
562  if (data_map.find(hashId) != data_map.end()) {
563  float phaseOffset = (phase) ? +25 : 0;
564  std::vector<float> samples = m_pcalib->getSamplesFromBipolarFunc(driftTime + phaseOffset, stripCharge);
565  std::vector<float> existingSamples = data_map[hashId]; // assuming that there are four elements...
566 
567  if (m_debug) {
568  std::cout << "[CSC_Digitizer::fillSampleMaps] ";
569 
570  for (unsigned int i = 0; i < samples.size(); ++i) std::cout << samples[i] << " ";
571  std::cout << " + ";
572 
573  for (unsigned int i = 0; i < existingSamples.size(); ++i) std::cout << existingSamples[i] << " ";
574 
575  std::cout << " ==> ";
576  }
577 
578  for (unsigned int i = 0; i < samples.size(); ++i) { existingSamples[i] += samples[i]; }
579 
580  if (m_debug) {
581  for (unsigned int i = 0; i < existingSamples.size(); ++i) std::cout << existingSamples[i] << " ";
582  std::cout << std::endl;
583  }
584 
585  data_map[hashId] = existingSamples;
586 
587  } else {
588  data_map.insert(std::pair<IdentifierHash, std::vector<float>>(hashId, m_pcalib->getSamplesFromBipolarFunc(driftTime, stripCharge)));
589  hashVec.push_back(hashId);
590  }
591 }

◆ fparamPhi()

double CSC_Digitizer::fparamPhi ( const double  x,
const std::array< double, 9 > &  p 
)
staticprivate

Definition at line 667 of file CSC_Digitizer.cxx.

667  {
668  double fparam{0}, pow {1.};
669  for (size_t i = 0; i < p.size(); ++i) {
670  fparam += p[i] * pow;
671  pow *= x;
672  }
673  return fparam;
674 }

◆ getDriftTime()

double CSC_Digitizer::getDriftTime ( const MuonGM::CscReadoutElement descriptor,
const Amg::Vector3D pos 
) const
private

Definition at line 681 of file CSC_Digitizer.cxx.

681  {
682  // need to be calculated correct - Garfield?
683  // assumption on the field lines not good but of for pileup stuff!
684  double time = -1000.0;
685  // tested with 60, 45, 30 and 60 looks the best 12/7/2009
686  double v0 = m_driftVelocity * 1.e-3; // mm/microsecond 6 cm/microsecond -> mm/ns
687  float anodeCathodeDist = descriptor->anodeCathodeDistance();
688  float roxacellWidth = descriptor->roxacellWidth();
689  float beta = std::atan((descriptor->longWidth() - descriptor->shortWidth()) / (2. * descriptor->lengthUpToMaxWidth()));
690  float longWidth = descriptor->longWidth() - 2 * roxacellWidth * (1 + std::sin(beta)) / std::cos(beta);
691  float yy = pos.y() + longWidth * 0.5;
692  float x0 = pos.x();
693  int wire = int(yy / anodeCathodeDist) + 1;
694  float y0 = (yy - wire * anodeCathodeDist);
695  if (std::abs(y0) > anodeCathodeDist / 2) y0 = std::abs(y0) - anodeCathodeDist * 0.5;
696  float driftDist = std::hypot(x0, y0); // Lorentz effect small
697  time = driftDist / v0;
698  return time;
699 }

◆ getHashId()

IdentifierHash CSC_Digitizer::getHashId ( const Identifier input_id,
const int  stripId,
const int  measuresPhi 
) const

Definition at line 736 of file CSC_Digitizer.cxx.

736  {
737  const int chamberLayer = m_cscIdHelper->chamberLayer(input_id);
738  const int wireLayer = m_cscIdHelper->wireLayer(input_id);
739  Identifier realHitId = m_cscIdHelper->channelID(input_id, chamberLayer, wireLayer, measuresPhi, stripId);
740  IdentifierHash hashId;
741  if (m_cscIdHelper->get_channel_hash(realHitId, hashId)) {
742  throw std::runtime_error(
743  Form("File: %s, Line: %d\nCSC_Digitizer::getHashId() - Failed to retrieve channel hash from identifier %llu", __FILE__,
744  __LINE__, realHitId.get_compact()));
745  }
746  return hashId;
747 }

◆ initialize()

StatusCode CSC_Digitizer::initialize ( )

Definition at line 31 of file CSC_Digitizer.cxx.

31  {
32  // initialize random number generators
33  // then initialize the CSC identifier helper
34  // This method must be called before looping over the hits
35  // to digitize them using the method digitize_hit below
36  m_bunchTime = 0.0;
37 
38  // calculate the probability densities
39  static constexpr std::array<double, s_maxElectron> prob{79.4, 12., 3.4, 1.6, 0.95, 0.6, 0.44, 0.34, 0.27, 0.21, 0.17,
40  0.13, 0.1, 0.08, 0.06, 0.05, 0.042, 0.037, 0.033, 0.029, 0.};
41 
42  double sump = 0;
43  for (int i = 0; i < s_maxElectron; ++i) {
44  sump += prob[i];
45  m_sprob[i] = sump;
46  }
47 
48  return StatusCode::SUCCESS;
49 }

◆ outsideWindow()

bool CSC_Digitizer::outsideWindow ( double  time) const
private

Definition at line 676 of file CSC_Digitizer.cxx.

676  {
677  // m_bunchTime is included already....updated one..
678  return driftTime < m_timeWindowLowerOffset || driftTime > m_timeWindowUpperOffset;
679 }

◆ qStripPhi()

double CSC_Digitizer::qStripPhi ( const double  x,
const Identifier id 
) const
private

Definition at line 649 of file CSC_Digitizer.cxx.

649  {
650  // parameters obtained from test beam
651  static constexpr std::array<double, 9> pSmall{.9092, .0634, -1.051, 8.05, -35.477, 58.883, -46.111, 17.446, -2.5824};
652  static constexpr std::array<double, 9> pLarge{.98, -.36, 5.07, -27.81, 72.257, -99.456, 72.778, -26.779, 3.9054};
653  double xx = std::abs(x) / 10.0; // divide by 10 to convert to cm!
654  double phiStripCharge = 0.0;
655 
656  if (xx < 1.75) {
657  if (m_cscIdHelper->isSmall(id)) {
658  phiStripCharge = fparamPhi(xx, pSmall);
659  } else {
660  phiStripCharge = fparamPhi(xx, pLarge);
661  }
662  }
663 
664  return phiStripCharge;
665 }

◆ qStripR() [1/2]

double CSC_Digitizer::qStripR ( const double  x)
staticprivate

Definition at line 618 of file CSC_Digitizer.cxx.

618  {
619  // induced charge on the r-strip
620  // parametrization based on experimental data
621 
622  double rStripCharge = 0.0;
623  static constexpr std::array<double,4> Par{0.185, 2.315, 0.48, 5.2}; // obtained from test beam
624  double xx = std::abs(x) / 10.0; // divide by 10 to convert to cm!
625 
626  rStripCharge = Par[0] * exp(-Par[1] * xx) + Par[2] * exp(-Par[3] * (xx * xx));
627 
628  return rStripCharge;
629 }

◆ qStripR() [2/2]

double CSC_Digitizer::qStripR ( const double  x,
const Identifier id 
) const
private

Charge sharing profile.

New implementation Jan 2012 from fit to segment hits in run 186049.

Parameters
xdistance between strip and hit center in strip widths
stationTypesmall or large chamber
Returns
the charge fraction for this strip

Definition at line 637 of file CSC_Digitizer.cxx.

637  {
638  double stripCharge = 0.0;
639  double xx = x * x; // distance in strip widths squared
640 
641  if (m_cscIdHelper->isSmall(id)) { // small chamber
642  stripCharge = 0.7001 / (1.0 + 1.38 * xx + 2.255 * xx * xx);
643  } else { // large chamber
644  stripCharge = 0.7 / (1.0 + 1.381 * xx + 2.248 * xx * xx);
645  }
646  return stripCharge;
647 }

◆ qWire()

double CSC_Digitizer::qWire ( const int &  nElectrons,
const double &  gammaDist 
) const
private

Definition at line 602 of file CSC_Digitizer.cxx.

602  {
603  // find the charge on the wire
604 
605  // double amplification = 0.58e5;
606  double amplification = m_amplification;
607  double wireCharge = 0.0;
608 
609  for (int i = 0; i < nElectrons; ++i) {
610  double RNDpol = 0.0;
611  if (m_Polia > -1.0) { RNDpol = gammaDist / (1.0 + m_Polia); }
612  wireCharge += amplification * RNDpol;
613  }
614  return wireCharge;
615 }

◆ set()

void CSC_Digitizer::set ( const double  bunchTime)

Definition at line 598 of file CSC_Digitizer.cxx.

598 { m_bunchTime = bunchTime; }

◆ setAmplification()

void CSC_Digitizer::setAmplification ( const double  amplification)
inline

Definition at line 54 of file CSC_Digitizer.h.

54 { m_amplification = amplification; }

◆ setDebug()

void CSC_Digitizer::setDebug ( int  debug)
inline

Definition at line 56 of file CSC_Digitizer.h.

56 { m_debug = debug; }

◆ setDriftVelocity()

void CSC_Digitizer::setDriftVelocity ( double  v0)
inline

Definition at line 58 of file CSC_Digitizer.h.

58 { m_driftVelocity = v0; }

◆ setElectronEnergy()

void CSC_Digitizer::setElectronEnergy ( double  e)
inline

Definition at line 59 of file CSC_Digitizer.h.

59 { m_electronEnergy = e; } // eV

◆ setNInterFixed()

void CSC_Digitizer::setNInterFixed ( )
inline

Definition at line 60 of file CSC_Digitizer.h.

60 { m_NInterFromEnergyLoss = false; }

◆ setWindow()

void CSC_Digitizer::setWindow ( const double  t1,
const double  t2 
)

Definition at line 593 of file CSC_Digitizer.cxx.

593  {
596 }

◆ to_identifier()

Identifier CSC_Digitizer::to_identifier ( const CSCSimHit cscHit) const
private

Definition at line 51 of file CSC_Digitizer.cxx.

51  {
52  const int hitId = cscHit->CSCid();
53  const std::string st_str = m_cscHitHelper->GetStationName(hitId);
54  std::map<char, int>::const_iterator itr = m_stationDict.find(st_str[2]);
55  if (itr == m_stationDict.end()) {
56  throw std::runtime_error(Form("%s:%d Failed to convert station name %s to an valid offline identifier", __FILE__, __LINE__,
57  st_str.c_str()));
58  }
59  const int stationName = itr->second;
60  const int eta = m_cscHitHelper->GetZSector(hitId);
61  const int phi = m_cscHitHelper->GetPhiSector(hitId);
62  const int chamberLayer = m_cscHitHelper->GetChamberLayer(hitId);
63  const int wireLayer = m_cscHitHelper->GetWireLayer(hitId);
64  return m_cscIdHelper->channelID(stationName, eta, phi, chamberLayer, wireLayer, 0, 1);
65 }

Member Data Documentation

◆ m_amplification

double CSC_Digitizer::m_amplification {0.}
private

Definition at line 107 of file CSC_Digitizer.h.

◆ m_bunchTime

double CSC_Digitizer::m_bunchTime {0.}
private

Definition at line 106 of file CSC_Digitizer.h.

◆ m_cscHitHelper

const CscHitIdHelper* CSC_Digitizer::m_cscHitHelper {nullptr}
private

Definition at line 93 of file CSC_Digitizer.h.

◆ m_cscIdHelper

const CscIdHelper* CSC_Digitizer::m_cscIdHelper {nullptr}
private

Definition at line 95 of file CSC_Digitizer.h.

◆ m_debug

int CSC_Digitizer::m_debug {0}
private

Definition at line 109 of file CSC_Digitizer.h.

◆ m_driftVelocity

double CSC_Digitizer::m_driftVelocity {60.}
private

Definition at line 108 of file CSC_Digitizer.h.

◆ m_electronEnergy

double CSC_Digitizer::m_electronEnergy {66.}
private

Definition at line 100 of file CSC_Digitizer.h.

◆ m_muonMgr

const MuonGM::MuonDetectorManager* CSC_Digitizer::m_muonMgr {nullptr}
private

Definition at line 94 of file CSC_Digitizer.h.

◆ m_NInterFromEnergyLoss

bool CSC_Digitizer::m_NInterFromEnergyLoss {true}
private

Definition at line 99 of file CSC_Digitizer.h.

◆ m_pcalib

ICscCalibTool* CSC_Digitizer::m_pcalib {nullptr}
private

Definition at line 96 of file CSC_Digitizer.h.

◆ m_Polia

double CSC_Digitizer::m_Polia {0.}
private

Definition at line 102 of file CSC_Digitizer.h.

◆ m_sprob

std::array<double, s_maxElectron> CSC_Digitizer::m_sprob {0.}
private

Definition at line 103 of file CSC_Digitizer.h.

◆ m_stationDict

std::map<char, int> CSC_Digitizer::m_stationDict {}
private

Cache the csc id dictionary.

Definition at line 111 of file CSC_Digitizer.h.

◆ m_timeWindowLowerOffset

double CSC_Digitizer::m_timeWindowLowerOffset {0.}
private

Definition at line 104 of file CSC_Digitizer.h.

◆ m_timeWindowUpperOffset

double CSC_Digitizer::m_timeWindowUpperOffset {0.}
private

Definition at line 105 of file CSC_Digitizer.h.

◆ s_maxElectron

constexpr int CSC_Digitizer::s_maxElectron {21}
staticconstexprprivate

Definition at line 98 of file CSC_Digitizer.h.


The documentation for this class was generated from the following files:
MuonIdHelper::stationNameIndex
int stationNameIndex(const std::string &name) const
Definition: MuonIdHelper.cxx:842
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
python.SystemOfUnits.second
int second
Definition: SystemOfUnits.py:120
ReadOfcFromCool.phase
phase
Definition: ReadOfcFromCool.py:127
MuonGM::CscReadoutElement::anodeCathodeDistance
double anodeCathodeDistance() const
Definition: CscReadoutElement.h:306
get_generator_info.result
result
Definition: get_generator_info.py:21
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
PlotCalibFromCool.yy
yy
Definition: PlotCalibFromCool.py:714
CSC_Digitizer::m_timeWindowLowerOffset
double m_timeWindowLowerOffset
Definition: CSC_Digitizer.h:104
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
CalibDbCompareRT.st_str
st_str
Definition: CalibDbCompareRT.py:94
CSC_Digitizer::m_cscIdHelper
const CscIdHelper * m_cscIdHelper
Definition: CSC_Digitizer.h:95
dumpTgcDigiDeadChambers.stationName
dictionary stationName
Definition: dumpTgcDigiDeadChambers.py:30
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
MuonGM::CscReadoutElement::lengthUpToMaxWidth
double lengthUpToMaxWidth() const
Definition: CscReadoutElement.h:302
CSCSimHit::CSCid
int CSCid() const
Definition: CSCSimHit.h:54
CSC_Digitizer::m_driftVelocity
double m_driftVelocity
Definition: CSC_Digitizer.h:108
ALFA_EventTPCnv_Dict::t1
std::vector< ALFA_RawDataCollection_p1 > t1
Definition: ALFA_EventTPCnvDict.h:43
CSC_Digitizer::m_stationDict
std::map< char, int > m_stationDict
Cache the csc id dictionary.
Definition: CSC_Digitizer.h:111
CSC_Digitizer::m_bunchTime
double m_bunchTime
Definition: CSC_Digitizer.h:106
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
covarianceTool.prob
prob
Definition: covarianceTool.py:678
x
#define x
CscHitIdHelper::GetChamberLayer
int GetChamberLayer(const int &hid) const
Definition: CscHitIdHelper.cxx:78
drawFromPickle.atan
atan
Definition: drawFromPickle.py:36
CscHitIdHelper::GetPhiSector
int GetPhiSector(const int &hid) const
Definition: CscHitIdHelper.cxx:67
MuonIdHelper::isSmall
bool isSmall(const Identifier &id) const
Definition: MuonIdHelper.cxx:831
CSC_Digitizer::m_cscHitHelper
const CscHitIdHelper * m_cscHitHelper
Definition: CSC_Digitizer.h:93
MuonGM::CscReadoutElement::shortWidth
double shortWidth() const
Definition: CscReadoutElement.h:294
CscIdHelper::wireLayer
int wireLayer(const Identifier &id) const
Definition: CscIdHelper.cxx:772
CSC_Digitizer::m_sprob
std::array< double, s_maxElectron > m_sprob
Definition: CSC_Digitizer.h:103
CSC_Digitizer::m_Polia
double m_Polia
Definition: CSC_Digitizer.h:102
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
TRT::Hit::driftTime
@ driftTime
Definition: HitInfo.h:43
parseMapping.v0
def v0
Definition: parseMapping.py:149
lumiFormat.i
int i
Definition: lumiFormat.py:85
CSC_Digitizer::m_electronEnergy
double m_electronEnergy
Definition: CSC_Digitizer.h:100
CscHitIdHelper::GetWireLayer
int GetWireLayer(const int &hid) const
Definition: CscHitIdHelper.cxx:83
MuonR4::SegmentFit::ParamDefs::x0
@ x0
CSC_Digitizer::m_timeWindowUpperOffset
double m_timeWindowUpperOffset
Definition: CSC_Digitizer.h:105
MuonGM::CscReadoutElement::roxacellWidth
double roxacellWidth() const
Definition: CscReadoutElement.h:300
MuonGM::CscReadoutElement::longWidth
double longWidth() const
Definition: CscReadoutElement.h:298
MuonR4::SegmentFit::ParamDefs::y0
@ y0
MuonIdHelper::get_channel_hash
virtual int get_channel_hash(const Identifier &id, IdentifierHash &hash_id) const
Definition: MuonIdHelper.cxx:139
CSC_Digitizer::m_debug
int m_debug
Definition: CSC_Digitizer.h:109
CscIdHelper::channelID
Identifier channelID(int stationName, int stationEta, int stationPhi, int chamberLayer, int wireLayer, int measuresPhi, int strip) const
Definition: CscIdHelper.cxx:706
debug
const bool debug
Definition: MakeUncertaintyPlots.cxx:53
ICscCalibTool::addBipfunc
virtual std::pair< double, double > addBipfunc(const double driftTime0, const double stripCharge0, const double driftTime1, const double stripCharge1) const =0
CscHitIdHelper::GetStationName
std::string GetStationName(const int &hid) const
Definition: CscHitIdHelper.cxx:56
CSC_Digitizer::fparamPhi
static double fparamPhi(const double x, const std::array< double, 9 > &p)
Definition: CSC_Digitizer.cxx:667
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
CscHitIdHelper::GetZSector
int GetZSector(const int &hid) const
Definition: CscHitIdHelper.cxx:72
ALFA_EventTPCnv_Dict::t2
std::vector< ALFA_RawDataContainer_p1 > t2
Definition: ALFA_EventTPCnvDict.h:44
CSC_Digitizer::m_muonMgr
const MuonGM::MuonDetectorManager * m_muonMgr
Definition: CSC_Digitizer.h:94
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
ICscCalibTool::getSamplesFromBipolarFunc
virtual std::vector< float > getSamplesFromBipolarFunc(const double driftTime0, const double stripCharge0) const =0
DeMoScan.first
bool first
Definition: DeMoScan.py:536
CSC_Digitizer::m_NInterFromEnergyLoss
bool m_NInterFromEnergyLoss
Definition: CSC_Digitizer.h:99
CSC_Digitizer::m_pcalib
ICscCalibTool * m_pcalib
Definition: CSC_Digitizer.h:96
MuonGM::MuonDetectorManager::cscIdHelper
const CscIdHelper * cscIdHelper() const
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:232
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
MuonParameters::beta
@ beta
Definition: MuonParamDefs.h:144
CSC_Digitizer::s_maxElectron
static constexpr int s_maxElectron
Definition: CSC_Digitizer.h:98
pow
constexpr int pow(int base, int exp) noexcept
Definition: ap_fixedTest.cxx:15
CscIdHelper::chamberLayer
int chamberLayer(const Identifier &id) const
Definition: CscIdHelper.cxx:770
CSC_Digitizer::m_amplification
double m_amplification
Definition: CSC_Digitizer.h:107
Identifier
Definition: IdentifierFieldParser.cxx:14