CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes
HGCalCassette Class Reference

#include <HGCalCassette.h>

Public Member Functions

std::pair< double, double > getShift (int layer, int zside, int cassette) const
 
 HGCalCassette (int cassette, const std::vector< double > &shifts)
 
 HGCalCassette ()
 
void setParameter (int cassette, const std::vector< double > &shifts)
 

Static Public Member Functions

static int cassetteIndex (int det, int layer, int zside, int cassette)
 
static int cassetteType (int det, int zside, int cassette)
 

Private Attributes

int cassette_
 
std::vector< double > shifts_
 
bool typeHE_
 

Static Private Attributes

static constexpr int32_t factor_ = 100
 
static constexpr int positEE_ [6] = {2, 1, 0, 5, 4, 3}
 
static constexpr int positHE_ [12] = {5, 4, 3, 2, 1, 0, 11, 10, 9, 8, 7, 6}
 

Detailed Description

Definition at line 8 of file HGCalCassette.h.

Constructor & Destructor Documentation

◆ HGCalCassette() [1/2]

HGCalCassette::HGCalCassette ( int  cassette,
const std::vector< double > &  shifts 
)
inline

Definition at line 10 of file HGCalCassette.h.

References setParameter().

10 { setParameter(cassette, shifts); }
void setParameter(int cassette, const std::vector< double > &shifts)
Definition: HGCalCassette.cc:8

◆ HGCalCassette() [2/2]

HGCalCassette::HGCalCassette ( )
inline

Definition at line 11 of file HGCalCassette.h.

11 {}

Member Function Documentation

◆ cassetteIndex()

int HGCalCassette::cassetteIndex ( int  det,
int  layer,
int  zside,
int  cassette 
)
static

Definition at line 40 of file HGCalCassette.cc.

References factor_, and pixelTopology::layer.

Referenced by HGCalNumberingScheme::getUnitID(), and HGCalNumberingScheme::HGCalNumberingScheme().

40  {
41  int zs = (side > 0) ? factor_ : 0;
42  return (((zs + det) * factor_ + layer) * factor_ + cassette);
43 }
static constexpr int32_t factor_
Definition: HGCalCassette.h:24
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer

◆ cassetteType()

int HGCalCassette::cassetteType ( int  det,
int  zside,
int  cassette 
)
static

Definition at line 45 of file HGCalCassette.cc.

References positEE_, positHE_, and ecaldqm::zside().

Referenced by DDHGCalMixRotatedLayer::positionMix(), and HGCalMixRotatedLayer::positionMix().

45  {
46  int type = (zside < 0) ? cassette : ((det == 0) ? (1 + positEE_[cassette - 1]) : (1 + positHE_[cassette - 1]));
47  return type;
48 }
static constexpr int positHE_[12]
Definition: HGCalCassette.h:20
int zside(DetId const &)
static constexpr int positEE_[6]
Definition: HGCalCassette.h:19

◆ getShift()

std::pair< double, double > HGCalCassette::getShift ( int  layer,
int  zside,
int  cassette 
) const

Definition at line 28 of file HGCalCassette.cc.

References cassette_, pixelTopology::layer, positEE_, positHE_, shifts_, typeHE_, geometryCSVtoXML::xy, and ecaldqm::zside().

Referenced by HGCalDDDConstants::assignCellTrap(), HGCalDDDConstants::cassetteShiftScintillator(), HGCalDDDConstants::cassetteShiftSilicon(), HGCalDDDConstants::localToGlobal8(), HGCalDDDConstants::locateCell(), HGCalDDDConstants::locateCellTrap(), and HGCalDDDConstants::waferFromPosition().

28  {
29  int locc = (zside < 0) ? (cassette - 1) : (typeHE_ ? positHE_[cassette - 1] : positEE_[cassette - 1]);
30  int loc = 2 * (cassette_ * (layer - 1) + locc);
31  std::pair<double, double> xy = std::make_pair(-zside * shifts_[loc], shifts_[loc + 1]);
32 #ifdef EDM_ML_DEBUG
33  edm::LogVerbatim("HGCalGeom") << "HGCalCassette::getShift: Layer " << layer << " zside " << zside << " type "
34  << typeHE_ << " cassette " << cassette << " Loc " << locc << ":" << loc << " shift "
35  << xy.first << ":" << xy.second;
36 #endif
37  return xy;
38 }
Log< level::Info, true > LogVerbatim
static constexpr int positHE_[12]
Definition: HGCalCassette.h:20
int zside(DetId const &)
static constexpr int positEE_[6]
Definition: HGCalCassette.h:19
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
std::vector< double > shifts_
Definition: HGCalCassette.h:23

◆ setParameter()

void HGCalCassette::setParameter ( int  cassette,
const std::vector< double > &  shifts 
)

Definition at line 8 of file HGCalCassette.cc.

References cassette_, dqmiolumiharvest::j, SiStripPI::min, shifts_, and typeHE_.

Referenced by coreTools.RunOnData::__call__(), trackTools.MakeAODTrackCandidates::__call__(), runJetUncertainties.RunJetUncertainties::__call__(), metTools.AddMETCollection::__call__(), cmsswVersionTools.PickRelValInputFiles::__call__(), coreTools.RemoveMCMatching::__call__(), trackTools.MakePATTrackCandidates::__call__(), trigTools.SwitchOnTrigger::__call__(), runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties::__call__(), trigTools.SwitchOnTriggerStandAlone::__call__(), tauTools.AddTauCollection::__call__(), trackTools.MakeTrackCandidates::__call__(), trigTools.SwitchOnTriggerMatching::__call__(), trigTools.SwitchOnTriggerMatchingStandAlone::__call__(), trigTools.SwitchOnTriggerMatchEmbedding::__call__(), jetTools.AddJetCollection::__call__(), jetTools.SwitchJetCollection::__call__(), jetTools.UpdateJetCollection::__call__(), jetTools.AddJetID::__call__(), jetTools.SetTagInfos::__call__(), HGCalCassette(), HGCalDDDConstants::HGCalDDDConstants(), and runMETCorrectionsAndUncertainties.RunMETCorrectionsAndUncertainties::jetConfiguration().

8  {
9  cassette_ = cassette;
10  typeHE_ = (cassette_ >= 12);
11  shifts_.insert(shifts_.end(), shifts.begin(), shifts.end());
12 #ifdef EDM_ML_DEBUG
13  edm::LogVerbatim("HGCalGeom") << "# of cassettes = " << cassette_ << " Type " << typeHE_;
14  for (uint32_t j1 = 0; j1 < shifts.size(); j1 += 12) {
15  std::ostringstream st1;
16  if (j1 == 0)
17  st1 << " Shifts:";
18  else
19  st1 << " ";
20  uint32_t j2 = std::min((j1 + 12), static_cast<uint32_t>(shifts.size()));
21  for (uint32_t j = j1; j < j2; ++j)
22  st1 << ":" << shifts[j];
23  edm::LogVerbatim("HGCalGeom") << st1.str();
24  }
25 #endif
26 }
Log< level::Info, true > LogVerbatim
std::vector< double > shifts_
Definition: HGCalCassette.h:23

Member Data Documentation

◆ cassette_

int HGCalCassette::cassette_
private

Definition at line 21 of file HGCalCassette.h.

Referenced by getShift(), and setParameter().

◆ factor_

constexpr int32_t HGCalCassette::factor_ = 100
staticprivate

Definition at line 24 of file HGCalCassette.h.

Referenced by cassetteIndex().

◆ positEE_

constexpr int HGCalCassette::positEE_[6] = {2, 1, 0, 5, 4, 3}
staticprivate

Definition at line 19 of file HGCalCassette.h.

Referenced by cassetteType(), and getShift().

◆ positHE_

constexpr int HGCalCassette::positHE_[12] = {5, 4, 3, 2, 1, 0, 11, 10, 9, 8, 7, 6}
staticprivate

Definition at line 20 of file HGCalCassette.h.

Referenced by cassetteType(), and getShift().

◆ shifts_

std::vector<double> HGCalCassette::shifts_
private

Definition at line 23 of file HGCalCassette.h.

Referenced by getShift(), and setParameter().

◆ typeHE_

bool HGCalCassette::typeHE_
private

Definition at line 22 of file HGCalCassette.h.

Referenced by getShift(), and setParameter().