20 theAlignRecordName(
"TrackerAlignmentRcd" ),
21 theErrorRecordName(
"TrackerAlignmentErrorExtendedRcd" )
55 for ( align::Alignables::const_iterator
iter = thePixelEndCapsAlignables.begin();
56 iter != thePixelEndCapsAlignables.end(); ++
iter )
60 int id = (*iter)->geomDetId().rawId();
66 align::LocalVector lvector( local_displacements.at(0), local_displacements.at(1), local_displacements.at(2));
70 (*iter)->move( gvector );
73 (*iter)->rotateAroundLocalX( local_rotations.at(0) );
74 (*iter)->rotateAroundLocalY( local_rotations.at(1) );
75 (*iter)->rotateAroundLocalZ( local_rotations.at(2) );
86 for ( align::Alignables::const_iterator
iter = theEndCapsAlignables.begin();
87 iter != theEndCapsAlignables.end(); ++
iter ){
90 int id = (*iter)->geomDetId().rawId();
96 align::LocalVector lvector( local_displacements.at(0), local_displacements.at(1), local_displacements.at(2));
100 (*iter)->move( gvector );
103 (*iter)->rotateAroundLocalX( local_rotations.at(0) );
104 (*iter)->rotateAroundLocalY( local_rotations.at(1) );
105 (*iter)->rotateAroundLocalZ( local_rotations.at(2) );
116 for ( align::Alignables::const_iterator
iter = thePixelHalfBarrelsAlignables.begin();
117 iter != thePixelHalfBarrelsAlignables.end(); ++
iter ){
120 int id = (*iter)->geomDetId().rawId();
126 align::LocalVector lvector( local_displacements.at(0), local_displacements.at(1), local_displacements.at(2));
130 (*iter)->move( gvector );
133 (*iter)->rotateAroundLocalX( local_rotations.at(0) );
134 (*iter)->rotateAroundLocalY( local_rotations.at(1) );
135 (*iter)->rotateAroundLocalZ( local_rotations.at(2) );
146 for ( align::Alignables::const_iterator
iter = theOuterHalfBarrelsAlignables.begin();
147 iter != theOuterHalfBarrelsAlignables.end(); ++
iter ){
150 int id = (*iter)->geomDetId().rawId();
156 align::LocalVector lvector( local_displacements.at(0), local_displacements.at(1), local_displacements.at(2));
160 (*iter)->move( gvector );
163 (*iter)->rotateAroundLocalX( local_rotations.at(0) );
164 (*iter)->rotateAroundLocalY( local_rotations.at(1) );
165 (*iter)->rotateAroundLocalZ( local_rotations.at(2) );
176 for ( align::Alignables::const_iterator
iter = theInnerHalfBarrelsAlignables.begin();
177 iter != theInnerHalfBarrelsAlignables.end(); ++
iter ){
180 int id = (*iter)->geomDetId().rawId();
186 align::LocalVector lvector( local_displacements.at(0), local_displacements.at(1), local_displacements.at(2));
190 (*iter)->move( gvector );
193 (*iter)->rotateAroundLocalX( local_rotations.at(0) );
194 (*iter)->rotateAroundLocalY( local_rotations.at(1) );
195 (*iter)->rotateAroundLocalZ( local_rotations.at(2) );
206 for ( align::Alignables::const_iterator
iter = theTIDsAlignables.begin();
207 iter != theTIDsAlignables.end(); ++
iter ){
210 int id = (*iter)->geomDetId().rawId();
216 align::LocalVector lvector( local_displacements.at(0), local_displacements.at(1), local_displacements.at(2));
220 (*iter)->move( gvector );
223 (*iter)->rotateAroundLocalX( local_rotations.at(0) );
224 (*iter)->rotateAroundLocalY( local_rotations.at(1) );
225 (*iter)->rotateAroundLocalZ( local_rotations.at(2) );
237 for ( align::Alignables::const_iterator
iter = theTIBTIDAlignables.begin();
238 iter != theTIBTIDAlignables.end(); ++
iter )
242 int id = (*iter)->geomDetId().rawId();
248 align::GlobalVector gvector (globalDisplacements.at(0), globalDisplacements.at(1), globalDisplacements.at(2));
249 (*iter)->move( gvector );
254 (*iter)->rotateInGlobalFrame( theResultRotation );
256 (*iter)->rotateInGlobalFrame( backwardRotation );
270 throw cms::Exception(
"NotAvailable") <<
"PoolDBOutputService not available";
Alignables & pixelHalfBarrelGeomDets()
Return pixel barrel GeomDets.
void moveAlignableTIDs(int rawId, const align::Scalars &localDisplacements, const align::Scalars &localRotations)
AlignmentErrorsExtended * alignmentErrors() const
Return alignment errors, sorted by DetId.
void moveAlignablePixelEndCaps(int rawId, const align::Scalars &localDisplacements, const align::Scalars &localRotations)
void moveAlignableInnerHalfBarrels(int rawId, const align::Scalars &localDisplacements, const align::Scalars &localRotations)
void moveAlignablePixelHalfBarrels(int rawId, const align::Scalars &localDisplacements, const align::Scalars &localRotations)
std::string theAlignRecordName
Alignables TIBTIDGeomDets()
Return inner barrel and TID GeomDets together.
Alignables & innerBarrelGeomDets()
Return inner barrel GeomDets.
std::vector< Scalar > Scalars
Alignables & TIDGeomDets()
Return TID GeomDets.
void writeOne(T *payload, Time_t time, const std::string &recordName, bool withlogging=false)
TrackerAlignment(const edm::EventSetup &setup)
void moveAlignableOuterHalfBarrels(int rawId, const align::Scalars &localDisplacements, const align::Scalars &localRotations)
void moveAlignableTIBTIDs(int rawId, const align::Scalars &globalDisplacements, const align::RotationType &backwardRotation, const align::RotationType &forwardRotation, bool toAndFro)
std::string theErrorRecordName
Alignables & endcapGeomDets()
Return endcap GeomDets.
Alignables & pixelEndcapGeomDets()
Return pixel endcap GeomDets.
Alignables & outerBarrelGeomDets()
Return outer barrel GeomDets.
T const * product() const
void moveAlignableEndCaps(int rawId, const align::Scalars &localDisplacements, const align::Scalars &localRotations)
std::vector< Alignable * > Alignables
cond::Time_t currentTime() const
TkRotation transposed() const
AlignableTracker * theAlignableTracker
Alignments * alignments() const
Return alignments, sorted by DetId.
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")