CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
TrackerSystematicMisalignments Class Reference
Inheritance diagram for TrackerSystematicMisalignments:
edm::one::EDAnalyzer<> edm::one::EDAnalyzerBase 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::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () 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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
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,
TrackerAlignmentErrorExtendedRcd
aliErrorToken_
 
const edm::ESGetToken
< Alignments,
TrackerAlignmentRcd
aliToken_
 
const edm::ESGetToken
< GeometricDet,
IdealGeometryRecord
geomDetToken_
 
const edm::ESGetToken
< Alignments,
GlobalPositionRcd
gprToken_
 
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,
PTrackerAdditionalParametersPerDetRcd
ptitpToken_
 
const edm::ESGetToken
< PTrackerParameters,
PTrackerParametersRcd
ptpToken_
 
bool suppressBlindMvmts
 
AlignableTrackertheAlignableTracker
 
const edm::ESGetToken
< TrackerTopology,
TrackerTopologyRcd
topoToken_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
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<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
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...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

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 47 of file TrackerSystematicMisalignments.cc.

Constructor & Destructor Documentation

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

Definition at line 100 of file TrackerSystematicMisalignments.cc.

References edm::ParameterSet::getUntrackedParameter(), 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.

108  theAlignableTracker(nullptr) {
109  // use existing geometry
110  m_fromDBGeom = cfg.getUntrackedParameter<bool>("fromDBGeom");
111 
112  // constants
113  m_radialEpsilon = cfg.getUntrackedParameter<double>("radialEpsilon");
114  m_telescopeEpsilon = cfg.getUntrackedParameter<double>("telescopeEpsilon");
115  m_layerRotEpsilon = cfg.getUntrackedParameter<double>("layerRotEpsilon");
116  m_bowingEpsilon = cfg.getUntrackedParameter<double>("bowingEpsilon");
117  m_zExpEpsilon = cfg.getUntrackedParameter<double>("zExpEpsilon");
118  m_twistEpsilon = cfg.getUntrackedParameter<double>("twistEpsilon");
119  m_ellipticalEpsilon = cfg.getUntrackedParameter<double>("ellipticalEpsilon");
120  m_skewEpsilon = cfg.getUntrackedParameter<double>("skewEpsilon");
121  m_sagittaEpsilon = cfg.getUntrackedParameter<double>("sagittaEpsilon");
122 
123  m_ellipticalDelta = cfg.getUntrackedParameter<double>("ellipticalDelta");
124  m_skewDelta = cfg.getUntrackedParameter<double>("skewDelta");
125  m_sagittaDelta = cfg.getUntrackedParameter<double>("sagittaDelta");
126 
127  if (m_radialEpsilon > -990.0) {
128  edm::LogWarning("MisalignedTracker") << "Applying radial ...";
129  }
130  if (m_telescopeEpsilon > -990.0) {
131  edm::LogWarning("MisalignedTracker") << "Applying telescope ...";
132  }
133  if (m_layerRotEpsilon > -990.0) {
134  edm::LogWarning("MisalignedTracker") << "Applying layer rotation ...";
135  }
136  if (m_bowingEpsilon > -990.0) {
137  edm::LogWarning("MisalignedTracker") << "Applying bowing ...";
138  }
139  if (m_zExpEpsilon > -990.0) {
140  edm::LogWarning("MisalignedTracker") << "Applying z-expansion ...";
141  }
142  if (m_twistEpsilon > -990.0) {
143  edm::LogWarning("MisalignedTracker") << "Applying twist ...";
144  }
145  if (m_ellipticalEpsilon > -990.0) {
146  edm::LogWarning("MisalignedTracker") << "Applying elliptical ...";
147  }
148  if (m_skewEpsilon > -990.0) {
149  edm::LogWarning("MisalignedTracker") << "Applying skew ...";
150  }
151  if (m_sagittaEpsilon > -990.0) {
152  edm::LogWarning("MisalignedTracker") << "Applying sagitta ...";
153  }
154 
155  // get flag for suppression of blind movements
156  suppressBlindMvmts = cfg.getUntrackedParameter<bool>("suppressBlindMvmts");
157  if (suppressBlindMvmts) {
158  edm::LogWarning("MisalignedTracker") << "Blind movements suppressed (TIB/TOB in z, TID/TEC in r)";
159  }
160 
161  // compatibility with old (weird) z convention
162  oldMinusZconvention = cfg.getUntrackedParameter<bool>("oldMinusZconvention");
163  if (oldMinusZconvention) {
164  edm::LogWarning("MisalignedTracker") << "Old z convention: dz --> -dz";
165  } else {
166  edm::LogWarning("MisalignedTracker") << "New z convention: dz --> dz";
167  }
168 }
T getUntrackedParameter(std::string const &, T const &) const
const edm::ESGetToken< PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcd > ptitpToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
const edm::ESGetToken< AlignmentErrorsExtended, TrackerAlignmentErrorExtendedRcd > aliErrorToken_
const edm::ESGetToken< Alignments, TrackerAlignmentRcd > aliToken_
const edm::ESGetToken< GeometricDet, IdealGeometryRecord > geomDetToken_
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcd > ptpToken_
Log< level::Warning, false > LogWarning
const edm::ESGetToken< Alignments, GlobalPositionRcd > gprToken_

Member Function Documentation

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

Implements edm::one::EDAnalyzerBase.

Definition at line 172 of file TrackerSystematicMisalignments.cc.

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

172  {
173  //Retrieve tracker topology from geometry
174  const GeometricDet* geom = &setup.getData(geomDetToken_);
175  const PTrackerParameters& ptp = setup.getData(ptpToken_);
177  const TrackerTopology* tTopo = &setup.getData(topoToken_);
178 
179  TrackerGeometry* tracker = TrackerGeomBuilderFromGeometricDet().build(geom, ptitp, ptp, tTopo);
180 
181  //take geometry from DB or randomly generate geometry
182  if (m_fromDBGeom) {
183  //build the tracker
184  const Alignments* alignments = &setup.getData(aliToken_);
185  const AlignmentErrorsExtended* alignmentErrors = &setup.getData(aliErrorToken_);
186  const Alignments* globalPositionRcd = &setup.getData(gprToken_);
187 
188  //apply the latest alignments
189  GeometryAligner aligner;
190  aligner.applyAlignments<TrackerGeometry>(&(*tracker),
191  &(*alignments),
192  &(*alignmentErrors),
193  align::DetectorGlobalPosition(*globalPositionRcd, DetId(DetId::Tracker)));
194  }
195 
196  theAlignableTracker = new AlignableTracker(&(*tracker), tTopo);
197 
199 
200  // -------------- writing out to alignment record --------------
201  Alignments myAlignments = *(theAlignableTracker->alignments());
202  AlignmentErrorsExtended myAlignmentErrorsExtended = *(theAlignableTracker->alignmentErrors());
203 
204  // Store alignment[Error]s to DB
206  std::string theAlignRecordName = "TrackerAlignmentRcd";
207  std::string theErrorRecordName = "TrackerAlignmentErrorExtendedRcd";
208 
209  // Call service
210  if (!poolDbService.isAvailable()) // Die if not available
211  throw cms::Exception("NotAvailable") << "PoolDBOutputService not available";
212 
213  poolDbService->writeOneIOV<Alignments>(myAlignments, poolDbService->beginOfTime(), theAlignRecordName);
214  poolDbService->writeOneIOV<AlignmentErrorsExtended>(
215  myAlignmentErrorsExtended, poolDbService->beginOfTime(), theErrorRecordName);
216 }
const edm::ESGetToken< PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcd > ptitpToken_
Alignments * alignments() const override
Return alignments, sorted by DetId.
Class to update a given geometry with a set of alignments.
TrackerGeometry * build(const GeometricDet *gd, const PTrackerAdditionalParametersPerDet *ptitp, const PTrackerParameters &ptp, const TrackerTopology *tTopo)
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
const edm::ESGetToken< AlignmentErrorsExtended, TrackerAlignmentErrorExtendedRcd > aliErrorToken_
void applyAlignments(const C *geometry, const Alignments *alignments, const AlignmentErrorsExtended *alignmentErrors, const AlignTransform &globalCoordinates)
bool getData(T &iHolder) const
Definition: EventSetup.h:128
const edm::ESGetToken< Alignments, TrackerAlignmentRcd > aliToken_
bool isAvailable() const
Definition: Service.h:40
Hash writeOneIOV(const T &payload, Time_t time, const std::string &recordName)
const edm::ESGetToken< GeometricDet, IdealGeometryRecord > geomDetToken_
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcd > ptpToken_
Definition: DetId.h:17
AlignmentErrorsExtended * alignmentErrors() const override
Return alignment errors, sorted by DetId.
const AlignTransform & DetectorGlobalPosition(const Alignments &allGlobals, const DetId &id)
const edm::ESGetToken< Alignments, GlobalPositionRcd > gprToken_
void TrackerSystematicMisalignments::applySystematicMisalignment ( Alignable ali)
private

Definition at line 218 of file TrackerSystematicMisalignments.cc.

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

Referenced by analyze().

218  {
219  const align::Alignables& comp = ali->components();
220  unsigned int nComp = comp.size();
221  //move then do for lower level object
222  //for issue of det vs detunit
223  bool usecomps = true;
224  if ((ali->alignableObjectId() == 2) && (nComp >= 1))
225  usecomps = false;
226  for (unsigned int i = 0; i < nComp; ++i) {
227  if (usecomps)
229  }
230 
231  // if suppression of blind mvmts: check if subdet is blind to a certain mode
232  bool blindToZ(false), blindToR(false);
233  if (suppressBlindMvmts) {
234  const int subdetid = ali->geomDetId().subdetId();
235  switch (subdetid) {
236  // TIB/TON blind to z
237  case SiStripDetId::TIB:
238  case SiStripDetId::TOB:
239  blindToZ = true;
240  break;
241  // TID/TEC blind to R
242  case SiStripDetId::TID:
243  case SiStripDetId::TEC:
244  blindToR = true;
245  break;
246  default:
247  break;
248  }
249  }
250 
251  const int level = ali->alignableObjectId();
252  if ((level == 1) || (level == 2)) {
253  const align::PositionType gP = ali->globalPosition();
254  const align::GlobalVector gVec = findSystematicMis(gP, blindToZ, blindToR);
255  ali->move(gVec);
256  }
257 }
static constexpr auto TID
Definition: SiStripDetId.h:38
virtual void move(const GlobalVector &displacement)=0
Movement with respect to the global reference frame.
align::GlobalVector findSystematicMis(const align::PositionType &, const bool blindToZ, const bool blindToR)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
virtual const Alignables & components() const =0
Return vector of all direct components.
static constexpr auto TOB
Definition: SiStripDetId.h:39
static constexpr auto TIB
Definition: SiStripDetId.h:37
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
const PositionType & globalPosition() const
Return the global position of the object.
Definition: Alignable.h:135
tuple level
Definition: testEve_cfg.py:47
const DetId & geomDetId() const
Definition: Alignable.h:177
static constexpr auto TEC
Definition: SiStripDetId.h:40
void TrackerSystematicMisalignments::beginJob ( void  )
overridevirtual

Read ideal tracker geometry from DB.

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 170 of file TrackerSystematicMisalignments.cc.

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

Definition at line 259 of file TrackerSystematicMisalignments.cc.

References funct::cos(), 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().

261  {
262  //align::GlobalVector TrackerSystematicMisalignments::findSystematicMis( align::PositionType globalPos ){
263  // calculates shift for the current alignable
264  // all corrections are calculated w.r.t. the original geometry
265  double deltaX = 0.0;
266  double deltaY = 0.0;
267  double deltaZ = 0.0;
268  const double oldX = globalPos.x();
269  const double oldY = globalPos.y();
270  const double oldZ = globalPos.z();
271  const double oldPhi = globalPos.phi();
272  const double oldR = sqrt(globalPos.x() * globalPos.x() + globalPos.y() * globalPos.y());
273 
274  if (m_radialEpsilon > -990.0 && !blindToR) {
275  deltaX += m_radialEpsilon * oldX;
276  deltaY += m_radialEpsilon * oldY;
277  }
278  if (m_telescopeEpsilon > -990.0 && !blindToZ) {
279  deltaZ += m_telescopeEpsilon * oldR;
280  }
281  if (m_layerRotEpsilon > -990.0) {
282  // The following number was chosen such that the Layer Rotation systematic
283  // misalignment would not cause an overall rotation of the tracker.
284  const double Roffset = 57.0;
285  const double xP = oldR * cos(oldPhi + m_layerRotEpsilon * (oldR - Roffset));
286  const double yP = oldR * sin(oldPhi + m_layerRotEpsilon * (oldR - Roffset));
287  deltaX += (xP - oldX);
288  deltaY += (yP - oldY);
289  }
290  if (m_bowingEpsilon > -990.0 && !blindToR) {
291  const double trackeredgePlusZ = 271.846;
292  const double bowfactor = m_bowingEpsilon * (trackeredgePlusZ * trackeredgePlusZ - oldZ * oldZ);
293  deltaX += oldX * bowfactor;
294  deltaY += oldY * bowfactor;
295  }
296  if (m_zExpEpsilon > -990.0 && !blindToZ) {
297  deltaZ += oldZ * m_zExpEpsilon;
298  }
299  if (m_twistEpsilon > -990.0) {
300  const double xP = oldR * cos(oldPhi + m_twistEpsilon * oldZ);
301  const double yP = oldR * sin(oldPhi + m_twistEpsilon * oldZ);
302  deltaX += (xP - oldX);
303  deltaY += (yP - oldY);
304  }
305  if (m_ellipticalEpsilon > -990.0 && !blindToR) {
306  deltaX += oldX * m_ellipticalEpsilon * cos(2.0 * oldPhi + m_ellipticalDelta);
307  deltaY += oldY * m_ellipticalEpsilon * cos(2.0 * oldPhi + m_ellipticalDelta);
308  }
309  if (m_skewEpsilon > -990.0 && !blindToZ) {
310  deltaZ += m_skewEpsilon * cos(oldPhi + m_skewDelta);
311  }
312  if (m_sagittaEpsilon > -990.0) {
313  // deltaX += oldX/fabs(oldX)*m_sagittaEpsilon; // old one...
314  deltaX += oldR * m_sagittaEpsilon * sin(m_sagittaDelta);
315  deltaY += oldR * m_sagittaEpsilon * cos(m_sagittaDelta); //Delta y is cos so that delta=0 reflects the old behavior
316  }
317 
318  // Compatibility with old version <= 1.5
320  deltaZ = -deltaZ;
321 
322  align::GlobalVector gV(deltaX, deltaY, deltaZ);
323  return gV;
324 }
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
T y() const
Definition: PV3DBase.h:60
T sqrt(T t)
Definition: SSEVec.h:19
T z() const
Definition: PV3DBase.h:61
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
T x() const
Definition: PV3DBase.h:59

Member Data Documentation

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

Definition at line 66 of file TrackerSystematicMisalignments.cc.

Referenced by analyze().

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

Definition at line 65 of file TrackerSystematicMisalignments.cc.

Referenced by analyze().

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

Definition at line 61 of file TrackerSystematicMisalignments.cc.

Referenced by analyze().

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

Definition at line 67 of file TrackerSystematicMisalignments.cc.

Referenced by analyze().

double TrackerSystematicMisalignments::m_bowingEpsilon
private
double TrackerSystematicMisalignments::m_ellipticalDelta
private
double TrackerSystematicMisalignments::m_ellipticalEpsilon
private
bool TrackerSystematicMisalignments::m_fromDBGeom
private

Definition at line 71 of file TrackerSystematicMisalignments.cc.

Referenced by analyze(), and TrackerSystematicMisalignments().

double TrackerSystematicMisalignments::m_layerRotEpsilon
private
double TrackerSystematicMisalignments::m_radialEpsilon
private
double TrackerSystematicMisalignments::m_sagittaDelta
private
double TrackerSystematicMisalignments::m_sagittaEpsilon
private
double TrackerSystematicMisalignments::m_skewDelta
private
double TrackerSystematicMisalignments::m_skewEpsilon
private
double TrackerSystematicMisalignments::m_telescopeEpsilon
private
double TrackerSystematicMisalignments::m_twistEpsilon
private
double TrackerSystematicMisalignments::m_zExpEpsilon
private
bool TrackerSystematicMisalignments::oldMinusZconvention
private
const edm::ESGetToken<PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcd> TrackerSystematicMisalignments::ptitpToken_
private

Definition at line 63 of file TrackerSystematicMisalignments.cc.

Referenced by analyze().

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

Definition at line 62 of file TrackerSystematicMisalignments.cc.

Referenced by analyze().

bool TrackerSystematicMisalignments::suppressBlindMvmts
private
AlignableTracker* TrackerSystematicMisalignments::theAlignableTracker
private

Definition at line 68 of file TrackerSystematicMisalignments.cc.

Referenced by analyze().

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

Definition at line 64 of file TrackerSystematicMisalignments.cc.

Referenced by analyze().