CMS 3D CMS Logo

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

#include <TrackerSystematicMisalignments.h>

Inheritance diagram for TrackerSystematicMisalignments:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 Read ideal tracker geometry from DB. More...
 
 TrackerSystematicMisalignments (const edm::ParameterSet &)
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void applySystematicMisalignment (Alignable *)
 
align::GlobalVector findSystematicMis (const align::PositionType &, const bool blindToZ, const bool blindToR)
 

Private Attributes

const edm::ESGetToken< AlignmentErrorsExtended, TrackerAlignmentErrorExtendedRcdaliErrorToken_
 
const edm::ESGetToken< Alignments, TrackerAlignmentRcdaliToken_
 
const edm::ESGetToken< GeometricDet, IdealGeometryRecordgeomDetToken_
 
const edm::ESGetToken< Alignments, GlobalPositionRcdgprToken_
 
double m_bowingEpsilon
 
double m_ellipticalDelta
 
double m_ellipticalEpsilon
 
bool m_fromDBGeom
 
double m_layerRotEpsilon
 
double m_radialEpsilon
 
double m_sagittaDelta
 
double m_sagittaEpsilon
 
double m_skewDelta
 
double m_skewEpsilon
 
double m_telescopeEpsilon
 
double m_twistEpsilon
 
double m_zExpEpsilon
 
bool oldMinusZconvention
 
const edm::ESGetToken< PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcdptitpToken_
 
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcdptpToken_
 
bool suppressBlindMvmts
 
AlignableTrackertheAlignableTracker
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtopoToken_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Class to misaligned tracker from DB.

Date
2012/06/13 09:24:50
Revision
1.5
Author
Chung Khim Lae

Definition at line 26 of file TrackerSystematicMisalignments.h.

Constructor & Destructor Documentation

◆ TrackerSystematicMisalignments()

TrackerSystematicMisalignments::TrackerSystematicMisalignments ( const edm::ParameterSet cfg)

Definition at line 41 of file TrackerSystematicMisalignments.cc.

49  theAlignableTracker(nullptr) {
50  // use existing geometry
51  m_fromDBGeom = cfg.getUntrackedParameter<bool>("fromDBGeom");
52 
53  // constants
54  m_radialEpsilon = cfg.getUntrackedParameter<double>("radialEpsilon");
55  m_telescopeEpsilon = cfg.getUntrackedParameter<double>("telescopeEpsilon");
56  m_layerRotEpsilon = cfg.getUntrackedParameter<double>("layerRotEpsilon");
57  m_bowingEpsilon = cfg.getUntrackedParameter<double>("bowingEpsilon");
58  m_zExpEpsilon = cfg.getUntrackedParameter<double>("zExpEpsilon");
59  m_twistEpsilon = cfg.getUntrackedParameter<double>("twistEpsilon");
60  m_ellipticalEpsilon = cfg.getUntrackedParameter<double>("ellipticalEpsilon");
61  m_skewEpsilon = cfg.getUntrackedParameter<double>("skewEpsilon");
62  m_sagittaEpsilon = cfg.getUntrackedParameter<double>("sagittaEpsilon");
63 
64  m_ellipticalDelta = cfg.getUntrackedParameter<double>("ellipticalDelta");
65  m_skewDelta = cfg.getUntrackedParameter<double>("skewDelta");
66  m_sagittaDelta = cfg.getUntrackedParameter<double>("sagittaDelta");
67 
68  if (m_radialEpsilon > -990.0) {
69  edm::LogWarning("MisalignedTracker") << "Applying radial ...";
70  }
71  if (m_telescopeEpsilon > -990.0) {
72  edm::LogWarning("MisalignedTracker") << "Applying telescope ...";
73  }
74  if (m_layerRotEpsilon > -990.0) {
75  edm::LogWarning("MisalignedTracker") << "Applying layer rotation ...";
76  }
77  if (m_bowingEpsilon > -990.0) {
78  edm::LogWarning("MisalignedTracker") << "Applying bowing ...";
79  }
80  if (m_zExpEpsilon > -990.0) {
81  edm::LogWarning("MisalignedTracker") << "Applying z-expansion ...";
82  }
83  if (m_twistEpsilon > -990.0) {
84  edm::LogWarning("MisalignedTracker") << "Applying twist ...";
85  }
86  if (m_ellipticalEpsilon > -990.0) {
87  edm::LogWarning("MisalignedTracker") << "Applying elliptical ...";
88  }
89  if (m_skewEpsilon > -990.0) {
90  edm::LogWarning("MisalignedTracker") << "Applying skew ...";
91  }
92  if (m_sagittaEpsilon > -990.0) {
93  edm::LogWarning("MisalignedTracker") << "Applying sagitta ...";
94  }
95 
96  // get flag for suppression of blind movements
97  suppressBlindMvmts = cfg.getUntrackedParameter<bool>("suppressBlindMvmts");
98  if (suppressBlindMvmts) {
99  edm::LogWarning("MisalignedTracker") << "Blind movements suppressed (TIB/TOB in z, TID/TEC in r)";
100  }
101 
102  // compatibility with old (weird) z convention
103  oldMinusZconvention = cfg.getUntrackedParameter<bool>("oldMinusZconvention");
104  if (oldMinusZconvention) {
105  edm::LogWarning("MisalignedTracker") << "Old z convention: dz --> -dz";
106  } else {
107  edm::LogWarning("MisalignedTracker") << "New z convention: dz --> dz";
108  }
109 }

References looper::cfg, m_bowingEpsilon, m_ellipticalDelta, m_ellipticalEpsilon, m_fromDBGeom, m_layerRotEpsilon, m_radialEpsilon, m_sagittaDelta, m_sagittaEpsilon, m_skewDelta, m_skewEpsilon, m_telescopeEpsilon, m_twistEpsilon, m_zExpEpsilon, oldMinusZconvention, and suppressBlindMvmts.

Member Function Documentation

◆ analyze()

void TrackerSystematicMisalignments::analyze ( const edm::Event event,
const edm::EventSetup setup 
)
overridevirtual

Implements edm::EDAnalyzer.

Definition at line 113 of file TrackerSystematicMisalignments.cc.

113  {
114  //Retrieve tracker topology from geometry
115  const GeometricDet* geom = &setup.getData(geomDetToken_);
116  const PTrackerParameters& ptp = setup.getData(ptpToken_);
117  const PTrackerAdditionalParametersPerDet* ptitp = &setup.getData(ptitpToken_);
118  const TrackerTopology* tTopo = &setup.getData(topoToken_);
119 
121 
122  //take geometry from DB or randomly generate geometry
123  if (m_fromDBGeom) {
124  //build the tracker
125  const Alignments* alignments = &setup.getData(aliToken_);
126  const AlignmentErrorsExtended* alignmentErrors = &setup.getData(aliErrorToken_);
127  const Alignments* globalPositionRcd = &setup.getData(gprToken_);
128 
129  //apply the latest alignments
130  GeometryAligner aligner;
131  aligner.applyAlignments<TrackerGeometry>(&(*tracker),
132  &(*alignments),
133  &(*alignmentErrors),
134  align::DetectorGlobalPosition(*globalPositionRcd, DetId(DetId::Tracker)));
135  }
136 
137  theAlignableTracker = new AlignableTracker(&(*tracker), tTopo);
138 
140 
141  // -------------- writing out to alignment record --------------
142  Alignments* myAlignments = theAlignableTracker->alignments();
143  AlignmentErrorsExtended* myAlignmentErrorsExtended = theAlignableTracker->alignmentErrors();
144 
145  // Store alignment[Error]s to DB
147  std::string theAlignRecordName = "TrackerAlignmentRcd";
148  std::string theErrorRecordName = "TrackerAlignmentErrorExtendedRcd";
149 
150  // Call service
151  if (!poolDbService.isAvailable()) // Die if not available
152  throw cms::Exception("NotAvailable") << "PoolDBOutputService not available";
153 
154  poolDbService->writeOne<Alignments>(&(*myAlignments), poolDbService->beginOfTime(), theAlignRecordName);
155  poolDbService->writeOne<AlignmentErrorsExtended>(
156  &(*myAlignmentErrorsExtended), poolDbService->beginOfTime(), theErrorRecordName);
157 }

References aliErrorToken_, AlignableTracker::alignmentErrors(), AlignableTracker::alignments(), aliToken_, GeometryAligner::applyAlignments(), applySystematicMisalignment(), cond::service::PoolDBOutputService::beginOfTime(), TrackerGeomBuilderFromGeometricDet::build(), align::DetectorGlobalPosition(), relativeConstraints::geom, geomDetToken_, gprToken_, edm::Service< T >::isAvailable(), m_fromDBGeom, ptitpToken_, ptpToken_, singleTopDQM_cfi::setup, AlCaHLTBitMon_QueryRunRegistry::string, theAlignableTracker, topoToken_, DetId::Tracker, PbPb_ZMuSkimMuonDPG_cff::tracker, and cond::service::PoolDBOutputService::writeOne().

◆ applySystematicMisalignment()

void TrackerSystematicMisalignments::applySystematicMisalignment ( Alignable ali)
private

Definition at line 159 of file TrackerSystematicMisalignments.cc.

159  {
160  const align::Alignables& comp = ali->components();
161  unsigned int nComp = comp.size();
162  //move then do for lower level object
163  //for issue of det vs detunit
164  bool usecomps = true;
165  if ((ali->alignableObjectId() == 2) && (nComp >= 1))
166  usecomps = false;
167  for (unsigned int i = 0; i < nComp; ++i) {
168  if (usecomps)
170  }
171 
172  // if suppression of blind mvmts: check if subdet is blind to a certain mode
173  bool blindToZ(false), blindToR(false);
174  if (suppressBlindMvmts) {
175  const int subdetid = ali->geomDetId().subdetId();
176  switch (subdetid) {
177  // TIB/TON blind to z
178  case SiStripDetId::TIB:
179  case SiStripDetId::TOB:
180  blindToZ = true;
181  break;
182  // TID/TEC blind to R
183  case SiStripDetId::TID:
184  case SiStripDetId::TEC:
185  blindToR = true;
186  break;
187  default:
188  break;
189  }
190  }
191 
192  const int level = ali->alignableObjectId();
193  if ((level == 1) || (level == 2)) {
194  const align::PositionType gP = ali->globalPosition();
195  const align::GlobalVector gVec = findSystematicMis(gP, blindToZ, blindToR);
196  ali->move(gVec);
197  }
198 }

References Alignable::alignableObjectId(), AlCaHLTBitMon_QueryRunRegistry::comp, Alignable::components(), findSystematicMis(), Alignable::geomDetId(), Alignable::globalPosition(), mps_fire::i, personalPlayback::level, Alignable::move(), DetId::subdetId(), suppressBlindMvmts, SiStripDetId::TEC, SiStripDetId::TIB, SiStripDetId::TID, and SiStripDetId::TOB.

Referenced by analyze().

◆ beginJob()

void TrackerSystematicMisalignments::beginJob ( void  )
overridevirtual

Read ideal tracker geometry from DB.

Reimplemented from edm::EDAnalyzer.

Definition at line 111 of file TrackerSystematicMisalignments.cc.

111 {}

◆ findSystematicMis()

align::GlobalVector TrackerSystematicMisalignments::findSystematicMis ( const align::PositionType globalPos,
const bool  blindToZ,
const bool  blindToR 
)
private

Definition at line 200 of file TrackerSystematicMisalignments.cc.

202  {
203  //align::GlobalVector TrackerSystematicMisalignments::findSystematicMis( align::PositionType globalPos ){
204  // calculates shift for the current alignable
205  // all corrections are calculated w.r.t. the original geometry
206  double deltaX = 0.0;
207  double deltaY = 0.0;
208  double deltaZ = 0.0;
209  const double oldX = globalPos.x();
210  const double oldY = globalPos.y();
211  const double oldZ = globalPos.z();
212  const double oldPhi = globalPos.phi();
213  const double oldR = sqrt(globalPos.x() * globalPos.x() + globalPos.y() * globalPos.y());
214 
215  if (m_radialEpsilon > -990.0 && !blindToR) {
216  deltaX += m_radialEpsilon * oldX;
217  deltaY += m_radialEpsilon * oldY;
218  }
219  if (m_telescopeEpsilon > -990.0 && !blindToZ) {
220  deltaZ += m_telescopeEpsilon * oldR;
221  }
222  if (m_layerRotEpsilon > -990.0) {
223  // The following number was chosen such that the Layer Rotation systematic
224  // misalignment would not cause an overall rotation of the tracker.
225  const double Roffset = 57.0;
226  const double xP = oldR * cos(oldPhi + m_layerRotEpsilon * (oldR - Roffset));
227  const double yP = oldR * sin(oldPhi + m_layerRotEpsilon * (oldR - Roffset));
228  deltaX += (xP - oldX);
229  deltaY += (yP - oldY);
230  }
231  if (m_bowingEpsilon > -990.0 && !blindToR) {
232  const double trackeredgePlusZ = 271.846;
233  const double bowfactor = m_bowingEpsilon * (trackeredgePlusZ * trackeredgePlusZ - oldZ * oldZ);
234  deltaX += oldX * bowfactor;
235  deltaY += oldY * bowfactor;
236  }
237  if (m_zExpEpsilon > -990.0 && !blindToZ) {
238  deltaZ += oldZ * m_zExpEpsilon;
239  }
240  if (m_twistEpsilon > -990.0) {
241  const double xP = oldR * cos(oldPhi + m_twistEpsilon * oldZ);
242  const double yP = oldR * sin(oldPhi + m_twistEpsilon * oldZ);
243  deltaX += (xP - oldX);
244  deltaY += (yP - oldY);
245  }
246  if (m_ellipticalEpsilon > -990.0 && !blindToR) {
247  deltaX += oldX * m_ellipticalEpsilon * cos(2.0 * oldPhi + m_ellipticalDelta);
248  deltaY += oldY * m_ellipticalEpsilon * cos(2.0 * oldPhi + m_ellipticalDelta);
249  }
250  if (m_skewEpsilon > -990.0 && !blindToZ) {
251  deltaZ += m_skewEpsilon * cos(oldPhi + m_skewDelta);
252  }
253  if (m_sagittaEpsilon > -990.0) {
254  // deltaX += oldX/fabs(oldX)*m_sagittaEpsilon; // old one...
255  deltaX += oldR * m_sagittaEpsilon * sin(m_sagittaDelta);
256  deltaY += oldR * m_sagittaEpsilon * cos(m_sagittaDelta); //Delta y is cos so that delta=0 reflects the old behavior
257  }
258 
259  // Compatibility with old version <= 1.5
261  deltaZ = -deltaZ;
262 
263  align::GlobalVector gV(deltaX, deltaY, deltaZ);
264  return gV;
265 }

References funct::cos(), L1TkHTMissProducer_cfi::deltaZ, m_bowingEpsilon, m_ellipticalDelta, m_ellipticalEpsilon, m_layerRotEpsilon, m_radialEpsilon, m_sagittaDelta, m_sagittaEpsilon, m_skewDelta, m_skewEpsilon, m_telescopeEpsilon, m_twistEpsilon, m_zExpEpsilon, oldMinusZconvention, PV3DBase< T, PVType, FrameType >::phi(), funct::sin(), mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by applySystematicMisalignment().

Member Data Documentation

◆ aliErrorToken_

const edm::ESGetToken<AlignmentErrorsExtended, TrackerAlignmentErrorExtendedRcd> TrackerSystematicMisalignments::aliErrorToken_
private

Definition at line 45 of file TrackerSystematicMisalignments.h.

Referenced by analyze().

◆ aliToken_

const edm::ESGetToken<Alignments, TrackerAlignmentRcd> TrackerSystematicMisalignments::aliToken_
private

Definition at line 44 of file TrackerSystematicMisalignments.h.

Referenced by analyze().

◆ geomDetToken_

const edm::ESGetToken<GeometricDet, IdealGeometryRecord> TrackerSystematicMisalignments::geomDetToken_
private

Definition at line 40 of file TrackerSystematicMisalignments.h.

Referenced by analyze().

◆ gprToken_

const edm::ESGetToken<Alignments, GlobalPositionRcd> TrackerSystematicMisalignments::gprToken_
private

Definition at line 46 of file TrackerSystematicMisalignments.h.

Referenced by analyze().

◆ m_bowingEpsilon

double TrackerSystematicMisalignments::m_bowingEpsilon
private

◆ m_ellipticalDelta

double TrackerSystematicMisalignments::m_ellipticalDelta
private

◆ m_ellipticalEpsilon

double TrackerSystematicMisalignments::m_ellipticalEpsilon
private

◆ m_fromDBGeom

bool TrackerSystematicMisalignments::m_fromDBGeom
private

Definition at line 50 of file TrackerSystematicMisalignments.h.

Referenced by analyze(), and TrackerSystematicMisalignments().

◆ m_layerRotEpsilon

double TrackerSystematicMisalignments::m_layerRotEpsilon
private

◆ m_radialEpsilon

double TrackerSystematicMisalignments::m_radialEpsilon
private

◆ m_sagittaDelta

double TrackerSystematicMisalignments::m_sagittaDelta
private

◆ m_sagittaEpsilon

double TrackerSystematicMisalignments::m_sagittaEpsilon
private

◆ m_skewDelta

double TrackerSystematicMisalignments::m_skewDelta
private

◆ m_skewEpsilon

double TrackerSystematicMisalignments::m_skewEpsilon
private

◆ m_telescopeEpsilon

double TrackerSystematicMisalignments::m_telescopeEpsilon
private

◆ m_twistEpsilon

double TrackerSystematicMisalignments::m_twistEpsilon
private

◆ m_zExpEpsilon

double TrackerSystematicMisalignments::m_zExpEpsilon
private

◆ oldMinusZconvention

bool TrackerSystematicMisalignments::oldMinusZconvention
private

◆ ptitpToken_

const edm::ESGetToken<PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcd> TrackerSystematicMisalignments::ptitpToken_
private

Definition at line 42 of file TrackerSystematicMisalignments.h.

Referenced by analyze().

◆ ptpToken_

const edm::ESGetToken<PTrackerParameters, PTrackerParametersRcd> TrackerSystematicMisalignments::ptpToken_
private

Definition at line 41 of file TrackerSystematicMisalignments.h.

Referenced by analyze().

◆ suppressBlindMvmts

bool TrackerSystematicMisalignments::suppressBlindMvmts
private

◆ theAlignableTracker

AlignableTracker* TrackerSystematicMisalignments::theAlignableTracker
private

Definition at line 47 of file TrackerSystematicMisalignments.h.

Referenced by analyze().

◆ topoToken_

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> TrackerSystematicMisalignments::topoToken_
private

Definition at line 43 of file TrackerSystematicMisalignments.h.

Referenced by analyze().

Vector3DBase< Scalar, GlobalTag >
personalPlayback.level
level
Definition: personalPlayback.py:22
TrackerSystematicMisalignments::findSystematicMis
align::GlobalVector findSystematicMis(const align::PositionType &, const bool blindToZ, const bool blindToR)
Definition: TrackerSystematicMisalignments.cc:200
AlCaHLTBitMon_QueryRunRegistry.comp
string comp
Definition: AlCaHLTBitMon_QueryRunRegistry.py:249
mps_fire.i
i
Definition: mps_fire.py:428
TrackerSystematicMisalignments::m_telescopeEpsilon
double m_telescopeEpsilon
Definition: TrackerSystematicMisalignments.h:53
cond::service::PoolDBOutputService::beginOfTime
cond::Time_t beginOfTime() const
Definition: PoolDBOutputService.cc:215
PTrackerParameters
Definition: PTrackerParameters.h:6
TrackerSystematicMisalignments::m_ellipticalEpsilon
double m_ellipticalEpsilon
Definition: TrackerSystematicMisalignments.h:58
TrackerSystematicMisalignments::m_zExpEpsilon
double m_zExpEpsilon
Definition: TrackerSystematicMisalignments.h:56
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
TrackerSystematicMisalignments::ptitpToken_
const edm::ESGetToken< PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcd > ptitpToken_
Definition: TrackerSystematicMisalignments.h:42
TrackerGeomBuilderFromGeometricDet::build
TrackerGeometry * build(const GeometricDet *gd, const PTrackerAdditionalParametersPerDet *ptitp, const PTrackerParameters &ptp, const TrackerTopology *tTopo)
Definition: TrackerGeomBuilderFromGeometricDet.cc:44
TrackerSystematicMisalignments::oldMinusZconvention
bool oldMinusZconvention
Definition: TrackerSystematicMisalignments.h:71
TrackerTopology
Definition: TrackerTopology.h:16
TrackerSystematicMisalignments::m_skewDelta
double m_skewDelta
Definition: TrackerSystematicMisalignments.h:64
PTrackerAdditionalParametersPerDet
Definition: PTrackerAdditionalParametersPerDet.h:9
TrackerSystematicMisalignments::m_sagittaDelta
double m_sagittaDelta
Definition: TrackerSystematicMisalignments.h:65
TrackerSystematicMisalignments::m_fromDBGeom
bool m_fromDBGeom
Definition: TrackerSystematicMisalignments.h:50
TrackerSystematicMisalignments::m_radialEpsilon
double m_radialEpsilon
Definition: TrackerSystematicMisalignments.h:52
edm::Service::isAvailable
bool isAvailable() const
Definition: Service.h:40
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
GeometryAligner::applyAlignments
void applyAlignments(const C *geometry, const Alignments *alignments, const AlignmentErrorsExtended *alignmentErrors, const AlignTransform &globalCoordinates)
Definition: GeometryAligner.h:52
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
DetId
Definition: DetId.h:17
TrackerSystematicMisalignments::suppressBlindMvmts
bool suppressBlindMvmts
Definition: TrackerSystematicMisalignments.h:68
TrackerSystematicMisalignments::ptpToken_
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcd > ptpToken_
Definition: TrackerSystematicMisalignments.h:41
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
AlignableTracker::alignmentErrors
AlignmentErrorsExtended * alignmentErrors() const override
Return alignment errors, sorted by DetId.
Definition: AlignableTracker.cc:59
TrackerSystematicMisalignments::geomDetToken_
const edm::ESGetToken< GeometricDet, IdealGeometryRecord > geomDetToken_
Definition: TrackerSystematicMisalignments.h:40
Alignable::alignableObjectId
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
TrackerSystematicMisalignments::gprToken_
const edm::ESGetToken< Alignments, GlobalPositionRcd > gprToken_
Definition: TrackerSystematicMisalignments.h:46
TrackerSystematicMisalignments::m_skewEpsilon
double m_skewEpsilon
Definition: TrackerSystematicMisalignments.h:59
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
AlignableTracker
Definition: AlignableTracker.h:17
TrackerSystematicMisalignments::m_sagittaEpsilon
double m_sagittaEpsilon
Definition: TrackerSystematicMisalignments.h:60
GeometricDet
Definition: GeometricDet.h:31
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
Point3DBase< Scalar, GlobalTag >
SiStripDetId::TEC
static constexpr auto TEC
Definition: SiStripDetId.h:40
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
TrackerSystematicMisalignments::m_bowingEpsilon
double m_bowingEpsilon
Definition: TrackerSystematicMisalignments.h:55
DetId::Tracker
Definition: DetId.h:25
align::DetectorGlobalPosition
const AlignTransform & DetectorGlobalPosition(const Alignments &allGlobals, const DetId &id)
Definition: DetectorGlobalPosition.cc:10
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
edm::Service< cond::service::PoolDBOutputService >
TrackerSystematicMisalignments::applySystematicMisalignment
void applySystematicMisalignment(Alignable *)
Definition: TrackerSystematicMisalignments.cc:159
Alignable::geomDetId
const DetId & geomDetId() const
Definition: Alignable.h:177
TrackerSystematicMisalignments::aliToken_
const edm::ESGetToken< Alignments, TrackerAlignmentRcd > aliToken_
Definition: TrackerSystematicMisalignments.h:44
SiStripDetId::TOB
static constexpr auto TOB
Definition: SiStripDetId.h:39
AlignmentErrorsExtended
Definition: AlignmentErrorsExtended.h:10
TrackerSystematicMisalignments::topoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Definition: TrackerSystematicMisalignments.h:43
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
Alignable::move
virtual void move(const GlobalVector &displacement)=0
Movement with respect to the global reference frame.
looper.cfg
cfg
Definition: looper.py:296
SiStripDetId::TID
static constexpr auto TID
Definition: SiStripDetId.h:38
align::Alignables
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
TrackerSystematicMisalignments::m_ellipticalDelta
double m_ellipticalDelta
Definition: TrackerSystematicMisalignments.h:63
TrackerSystematicMisalignments::theAlignableTracker
AlignableTracker * theAlignableTracker
Definition: TrackerSystematicMisalignments.h:47
AlignableTracker::alignments
Alignments * alignments() const override
Return alignments, sorted by DetId.
Definition: AlignableTracker.cc:42
L1TkHTMissProducer_cfi.deltaZ
deltaZ
Definition: L1TkHTMissProducer_cfi.py:13
cond::service::PoolDBOutputService::writeOne
Hash writeOne(const T *payload, Time_t time, const std::string &recordName)
Definition: PoolDBOutputService.h:63
SiStripDetId::TIB
static constexpr auto TIB
Definition: SiStripDetId.h:37
edm::EDConsumerBase::esConsumes
auto esConsumes()
Definition: EDConsumerBase.h:206
TrackerSystematicMisalignments::aliErrorToken_
const edm::ESGetToken< AlignmentErrorsExtended, TrackerAlignmentErrorExtendedRcd > aliErrorToken_
Definition: TrackerSystematicMisalignments.h:45
TrackerGeomBuilderFromGeometricDet
Definition: TrackerGeomBuilderFromGeometricDet.h:18
cms::Exception
Definition: Exception.h:70
Alignable::globalPosition
const PositionType & globalPosition() const
Return the global position of the object.
Definition: Alignable.h:135
Alignable::components
virtual const Alignables & components() const =0
Return vector of all direct components.
TrackerSystematicMisalignments::m_twistEpsilon
double m_twistEpsilon
Definition: TrackerSystematicMisalignments.h:57
TrackerSystematicMisalignments::m_layerRotEpsilon
double m_layerRotEpsilon
Definition: TrackerSystematicMisalignments.h:54
Alignments
Definition: Alignments.h:10
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
GeometryAligner
Class to update a given geometry with a set of alignments.
Definition: GeometryAligner.h:33
TrackerGeometry
Definition: TrackerGeometry.h:14