|
ATLAS Offline Software
|
#include <SurveyConstraint.h>
|
| SurveyConstraint (const std::string &type, const std::string &name, const IInterface *parent) |
|
virtual | ~SurveyConstraint ()=default |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | finalize () override |
|
virtual StatusCode | computeConstraint (const Identifier &ModuleID, Amg::VectorX &dparams, double &deltachisq, Amg::VectorX &dchisqdparams, Amg::MatrixX &d2chisqdpdp) override |
|
virtual void | setup_SurveyConstraintModules () override |
|
virtual void | MMap (std::map< Identifier, SurveyConstraintModule *, std::less< Identifier > > &ModuleMap) override |
|
virtual int | getWeightPixEC (Amg::MatrixX &weight) override |
|
virtual int | getWeightPixB (Amg::MatrixX &weight) override |
|
virtual int | getWeightSCTEC (Amg::MatrixX &weight) override |
|
virtual int | getWeightSCTB (Amg::MatrixX &weight) override |
|
virtual void | getSurveyCoordsPixEC (std::vector< Amg::Vector3D > &coords) override |
|
virtual void | getSurveyCoordsPixB (std::vector< Amg::Vector3D > &coords) override |
|
virtual void | getSurveyCoordsSCTEC (std::vector< Amg::Vector3D > &coords) override |
|
virtual void | getSurveyCoordsSCTB (std::vector< Amg::Vector3D > &coords) override |
|
virtual void | GlobalToLocal (SurveyConstraintModule *mut, std::vector< SurveyConstraintPoint > &points) override |
|
virtual int | SectorNumber (int phi_module) override |
|
virtual double | PhiModuleToSector (int phi_module) override |
|
virtual void | TransformSector (Identifier Pixel_ModuleID, SurveyConstraintModule *mut, Amg::Vector3D ¤t, Amg::Transform3D CurrentTransRandSect) override |
|
|
const AtlasDetectorID * | m_idHelper |
|
const PixelID * | m_pixid |
|
const SCT_ID * | m_sctid |
|
IInDetAlignDBTool * | m_current_IDAlignDBTool |
|
IInDetAlignDBTool * | m_survey_IDAlignDBTool |
|
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > | m_pixelDetEleCollKey {this, "PixelDetEleCollKey", "PixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"} |
|
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > | m_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"} |
|
std::map< Identifier, SurveyConstraintModule *, std::less< Identifier > > | m_ModuleMap |
| Map of Wafer objects. More...
|
|
double | m_SurveyWeightX |
| Multiplicative weight, representing systematic unc. More...
|
|
double | m_SurveyWeightY |
| "" More...
|
|
double | m_SurveyWeightZ |
| "" More...
|
|
double | m_SurveyWeightPhiX |
| "" More...
|
|
double | m_SurveyWeightPhiY |
| "" More...
|
|
double | m_SurveyWeightPhiZ |
| "" More...
|
|
double | m_TransX |
| Translation in X of the first current PixEC module. More...
|
|
double | m_TransY |
| Translation in Y of the first current PixEC module. More...
|
|
double | m_TransZ |
| Translation in Z of the first current PixEC module. More...
|
|
double | m_RotX |
| Rotation in X of the first current PixEC module. More...
|
|
double | m_RotX2 |
| Rotation in X (after Y & Z) of the first current PixEC module. More...
|
|
double | m_RotY |
| Rotation in Y of the first current PixEC module. More...
|
|
double | m_RotZ |
| Rotation in Z of the first current PixEC module. More...
|
|
double | m_TransXRand |
| Weight & rand Translation in X of current PixEC modules. More...
|
|
double | m_TransYRand |
| Weight & rand Translation in Y of current PixEC modules. More...
|
|
double | m_TransZRand |
| Weight & rand Translation in Z of current PixEC modules. More...
|
|
double | m_RotXRand |
| Weight & rand Rotation in X of current PixEC modules. More...
|
|
double | m_RotYRand |
| Weight & rand Rotation in Y of current PixEC modules. More...
|
|
double | m_RotZRand |
| Weight & rand Rotation in Z of current PixEC modules
More...
|
|
double | m_TransXRandPixB |
| Weight & rand Translation in X of current PixB modules. More...
|
|
double | m_TransYRandPixB |
| Weight & rand Translation in Y of current PixB modules. More...
|
|
double | m_TransZRandPixB |
| Weight & rand Translation in Z of current PixB modules. More...
|
|
double | m_RotXRandPixB |
| Weight & rand Rotation in X of current PixB modules. More...
|
|
double | m_RotYRandPixB |
| Weight & rand Rotation in Y of current PixB modules. More...
|
|
double | m_RotZRandPixB |
| Weight & rand Rotation in Z of current PixB modules
More...
|
|
double | m_TransXRandSCTEC |
| Weight & rand Translation in X of current SCTEC modules. More...
|
|
double | m_TransYRandSCTEC |
| Weight & rand Translation in Y of current SCTEC modules. More...
|
|
double | m_TransZRandSCTEC |
| Weight & rand Translation in Z of current SCTEC modules. More...
|
|
double | m_RotXRandSCTEC |
| Weight & rand Rotation in X of current SCTEC modules. More...
|
|
double | m_RotYRandSCTEC |
| Weight & rand Rotation in Y of current SCTEC modules. More...
|
|
double | m_RotZRandSCTEC |
| Weight & rand Rotation in Z of current SCTEC modules
More...
|
|
double | m_TransXRandSCTB |
| Weight & rand Translation in X of current SCTB modules. More...
|
|
double | m_TransYRandSCTB |
| Weight & rand Translation in Y of current SCTB modules. More...
|
|
double | m_TransZRandSCTB |
| Weight & rand Translation in Z of current SCTB modules. More...
|
|
double | m_RotXRandSCTB |
| Weight & rand Rotation in X of current SCTB modules. More...
|
|
double | m_RotYRandSCTB |
| Weight & rand Rotation in Y of current SCTB modules. More...
|
|
double | m_RotZRandSCTB |
| Weight & rand Rotation in Z of current SCTB modules
More...
|
|
bool | m_gaus |
| use random (Gaus) rotations and translations
More...
|
|
double | m_TransXRandSect |
| rand Translation in X of current PixEC sectors More...
|
|
double | m_TransYRandSect |
| rand Translation in Y of current PixEC sectors More...
|
|
double | m_TransZRandSect |
| rand Translation in Z of current PixEC sectors More...
|
|
double | m_RotXRandSect |
| rand Rotation in X of current PixEC sectors More...
|
|
double | m_RotYRandSect |
| rand Rotation in Y of current PixEC sectors More...
|
|
double | m_RotZRandSect |
| rand Rotation in Z of current PixEC sectors
More...
|
|
double | m_TransLayerRand |
| rand Translation in X,Y,Z of all Pixel/SCT EC/B layers
More...
|
|
int | m_misaligncase |
| misaligncase More...
|
|
bool | m_gausSect |
| use random (Gaus) rotations and translations for sectors
More...
|
|
bool | m_FullDisk |
| use Full Disk More...
|
|
double | m_scaleZ |
| scale Z coordinate to match sensitivity More...
|
|
double | m_proximity |
| Proximity of Survey points used for alignment of SOW. More...
|
|
std::string | m_aligndbtoolinst |
|
std::string | m_surveydbtoolinst |
|
std::string | m_surveywfile |
|
std::string | m_surveyrfile |
|
bool | m_ntuple |
|
Definition at line 20 of file SurveyConstraint.h.
◆ SurveyConstraint()
SurveyConstraint::SurveyConstraint |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
Definition at line 42 of file SurveyConstraint.cxx.
112 declareProperty(
"TransX" ,
m_TransX);
113 declareProperty(
"TransY" ,
m_TransY);
114 declareProperty(
"TransZ" ,
m_TransZ);
115 declareProperty(
"RotX" ,
m_RotX);
116 declareProperty(
"RotX2" ,
m_RotX2);
117 declareProperty(
"RotY" ,
m_RotY);
118 declareProperty(
"RotZ" ,
m_RotZ);
143 declareProperty(
"Gaus" ,
m_gaus);
154 declareProperty(
"ScaleZ" ,
m_scaleZ);
160 declareProperty(
"Ntuple" ,
m_ntuple);
◆ ~SurveyConstraint()
virtual SurveyConstraint::~SurveyConstraint |
( |
| ) |
|
|
virtualdefault |
◆ computeConstraint()
Definition at line 253 of file SurveyConstraint.cxx.
272 bool isPixEC = false, isPixB = false, isSCTEC = false, isSCTB = false;
287 std::vector< SurveyConstraintPoint > Stavepoints;
289 ATH_MSG_DEBUG(
"SurveyConstraint().computeConstraint: Stavepoints.size() " << Stavepoints.size());
294 for (
unsigned int iPoint(0); iPoint < Stavepoints.size(); ++iPoint ) {
296 ATH_MSG_DEBUG(
"Survey Stavepoints before: " << survey.x() <<
"," << survey.y() <<
"," << survey.z());
299 survey = Stavepoints[iPoint].survey();
300 ATH_MSG_DEBUG(
" and after: " << survey.x() <<
"," << survey.y() <<
"," << survey.z());
303 ATH_MSG_DEBUG(
"SurveyConstraint().computeConstraint: Now fitting the 2 Staves");
304 double stavemin = minimizer.findMinimum(Stavepoints,staveangles,stavetrans);
309 stavetrans[2] = (stavetrans.z()/
m_scaleZ);
311 << stavetrans.x() <<
"," << stavetrans.y() <<
"," << stavetrans.z() <<
","
312 << staveangles.x()/
m_scaleZ <<
"," << staveangles.y()/
m_scaleZ <<
"," << staveangles.z() <<
")");
317 return StatusCode::FAILURE;
322 Amg::Transform3D staveTransform = amgstavetrans * Amg::RotationMatrix3D::Identity();
330 std::vector< SurveyConstraintPoint > Modulepoints;
338 for(
unsigned ipoint=0;ipoint<Modulepoints.size();ipoint++){
340 survey = staveTransform * survey;
346 ATH_MSG_DEBUG(
"SurveyConstraint().computeConstraint: Now fitting the 2 Modules");
347 double modmin = minimizer.findMinimum(Modulepoints,modangles,modtrans);
350 return StatusCode::FAILURE;
354 for(
unsigned ipar=0;ipar<3;ipar++)
355 dparams[ipar] = modtrans[ipar];
356 dparams[3] = modangles[0];
357 dparams[4] = modangles[1];
358 dparams[5] = modangles[2];
377 return StatusCode::FAILURE;
388 ATH_MSG_ERROR(
"Chech that the size of the matrix is a 1,1: " << temp.rows() <<
", " << temp.cols());
389 deltachisq = temp(0,0);
395 DOCA_Vector = 2.0*
weight*dparams;
398 return StatusCode::SUCCESS;
◆ finalize()
StatusCode SurveyConstraint::finalize |
( |
| ) |
|
|
overridevirtual |
◆ getSurveyCoordsPixB()
void SurveyConstraint::getSurveyCoordsPixB |
( |
std::vector< Amg::Vector3D > & |
coords | ) |
|
|
overridevirtual |
Definition at line 961 of file SurveyConstraint.cxx.
964 const double SurveyTargetX = 17.8/2.0;
965 const double SurveyTargetY = 59.8/2.0;
967 coords.emplace_back(-SurveyTargetX,-SurveyTargetY,0.0);
968 coords.emplace_back(-SurveyTargetX, SurveyTargetY,0.0);
969 coords.emplace_back( SurveyTargetX,-SurveyTargetY,0.0);
970 coords.emplace_back( SurveyTargetX, SurveyTargetY,0.0);
◆ getSurveyCoordsPixEC()
void SurveyConstraint::getSurveyCoordsPixEC |
( |
std::vector< Amg::Vector3D > & |
coords | ) |
|
|
overridevirtual |
Definition at line 948 of file SurveyConstraint.cxx.
951 const double SurveyTargetX = 17.8/2.0;
952 const double SurveyTargetY = 59.8/2.0;
954 coords.emplace_back(-SurveyTargetX,-SurveyTargetY,0.0);
955 coords.emplace_back(-SurveyTargetX, SurveyTargetY,0.0);
956 coords.emplace_back( SurveyTargetX,-SurveyTargetY,0.0);
957 coords.emplace_back( SurveyTargetX, SurveyTargetY,0.0);
◆ getSurveyCoordsSCTB()
void SurveyConstraint::getSurveyCoordsSCTB |
( |
std::vector< Amg::Vector3D > & |
coords | ) |
|
|
overridevirtual |
Definition at line 987 of file SurveyConstraint.cxx.
990 const double SurveyTargetX = 63.6/2.0;
991 const double SurveyTargetY = 128.2/2.0;
993 coords.emplace_back(-SurveyTargetX,-SurveyTargetY,0.0);
994 coords.emplace_back(-SurveyTargetX, SurveyTargetY,0.0);
995 coords.emplace_back( SurveyTargetX,-SurveyTargetY,0.0);
996 coords.emplace_back( SurveyTargetX, SurveyTargetY,0.0);
◆ getSurveyCoordsSCTEC()
void SurveyConstraint::getSurveyCoordsSCTEC |
( |
std::vector< Amg::Vector3D > & |
coords | ) |
|
|
overridevirtual |
Definition at line 974 of file SurveyConstraint.cxx.
977 const double SurveyTargetX = 63.6/2.0;
978 const double SurveyTargetY = 128.2/2.0;
980 coords.emplace_back(-SurveyTargetX,-SurveyTargetY,0.0);
981 coords.emplace_back(-SurveyTargetX, SurveyTargetY,0.0);
982 coords.emplace_back( SurveyTargetX,-SurveyTargetY,0.0);
983 coords.emplace_back( SurveyTargetX, SurveyTargetY,0.0);
◆ getWeightPixB()
int SurveyConstraint::getWeightPixB |
( |
Amg::MatrixX & |
weight | ) |
|
|
overridevirtual |
◆ getWeightPixEC()
int SurveyConstraint::getWeightPixEC |
( |
Amg::MatrixX & |
weight | ) |
|
|
overridevirtual |
◆ getWeightSCTB()
int SurveyConstraint::getWeightSCTB |
( |
Amg::MatrixX & |
weight | ) |
|
|
overridevirtual |
◆ getWeightSCTEC()
int SurveyConstraint::getWeightSCTEC |
( |
Amg::MatrixX & |
weight | ) |
|
|
overridevirtual |
◆ GlobalToLocal()
◆ initialize()
StatusCode SurveyConstraint::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 165 of file SurveyConstraint.cxx.
171 SmartIF<IToolSvc> toolSvc{Gaudi::svcLocator()->service(
"ToolSvc")};
191 ATH_MSG_INFO(
"got ID helpers from detector store (relying on GeoModel to put them)");
225 ATH_MSG_INFO(
"now entering SurveyConstraint::setup_SurveyConstraintModules()");
228 return StatusCode::SUCCESS;
◆ MMap()
◆ PhiModuleToSector()
double SurveyConstraint::PhiModuleToSector |
( |
int |
phi_module | ) |
|
|
overridevirtual |
Definition at line 1050 of file SurveyConstraint.cxx.
1051 int phiMod6 = phi_module%6;
1052 if(phiMod6 == 0)
return ( 7.5 - phiModEnd) * 1.0_degree;
1053 else if(phiMod6 == 1)
return (15 - phiModEnd) * 1.0_degree;
1054 else if(phiMod6 == 2)
return (22.5 - phiModEnd) * 1.0_degree;
1055 else if(phiMod6 == 3)
return (30 - phiModEnd) * 1.0_degree;
1056 else if(phiMod6 == 4)
return (37.5 - phiModEnd) * 1.0_degree;
1057 else if(phiMod6 == 5)
return (45 - phiModEnd) * 1.0_degree;
◆ SectorNumber()
int SurveyConstraint::SectorNumber |
( |
int |
phi_module | ) |
|
|
overridevirtual |
Definition at line 1037 of file SurveyConstraint.cxx.
1038 if(phi_module >= 0 && phi_module <= 5)
return 0;
1039 if(phi_module >= 6 && phi_module <= 11)
return 1;
1040 if(phi_module >= 12 && phi_module <= 17)
return 2;
1041 if(phi_module >= 18 && phi_module <= 23)
return 3;
1042 if(phi_module >= 24 && phi_module <= 29)
return 4;
1043 if(phi_module >= 30 && phi_module <= 35)
return 5;
1044 if(phi_module >= 36 && phi_module <= 41)
return 6;
1045 if(phi_module >= 42 && phi_module <= 47)
return 7;
◆ setup_SurveyConstraintModules()
void SurveyConstraint::setup_SurveyConstraintModules |
( |
| ) |
|
|
overridevirtual |
Definition at line 402 of file SurveyConstraint.cxx.
404 SmartIF<IRndmGenSvc> randsvc{Gaudi::svcLocator()->service(
"RndmGenSvc")};
405 Rndm::Numbers
gauss(randsvc,Rndm::Gauss(0.,1.));
421 m_survey_IDAlignDBTool->
dispGroup(-1, -1, -1, -1, -1,
m_TransLayerRand,
m_TransLayerRand,
m_TransLayerRand, 2, 2, 0);
424 m_survey_IDAlignDBTool->
dispGroup(1, 2, 0, -1, -1,
m_TransLayerRand, 0, 0, 1, 2, 0);
427 m_survey_IDAlignDBTool->
dispGroup(1, 2, 2, -1, -1,
m_TransLayerRand, 0, 0, 1, 2, 0);
430 int nSCT(0), nPixel(0);
431 std::vector< Amg::Vector3D > localSurveyCoords;
433 SurveyTransRand.setIdentity();
434 SurveyTransRandSect.setIdentity();
436 unsigned int nSCTMod = 0,nSCTModInMap = 0,nSCTModEC = 0,nSCTModPointsEC = 0;
440 if (not sctDetEleHandle.isValid() or sctElements==
nullptr) {
445 const Identifier SCT_ModuleID = element->identify();
485 Misalign_Vector[0]=
m1;Misalign_Vector[1]=
m2;Misalign_Vector[2]=
m3;Misalign_Vector[3]=m4;Misalign_Vector[4]=m5;Misalign_Vector[5]=m6;
502 Misalign_Vector[0]=
m1;Misalign_Vector[1]=
m2;Misalign_Vector[2]=
m3;Misalign_Vector[3]=m4;Misalign_Vector[4]=m5;Misalign_Vector[5]=m6;
509 for (
unsigned int iCorn(0); iCorn < localSurveyCoords.size(); ++iCorn ) {
512 Amg::Vector3D surveyPoint = (SurveyTrans*SurveyTransRand) * localSurveyCoords[iCorn];
517 Amg::VectorX globalSurveyPoint = element->globalPosition( surveyPoint );
518 Amg::VectorX globalCurrentPoint = element->globalPosition( currentPoint);
526 bool first =
true, NewDisk =
true, NewSector =
true, firstB =
true;
527 unsigned int nPixMod = 0,nPixModInMap = 0,nPixModEC = 0,nPixModPointsEC = 0;
528 int previous_disk = -1, previous_sector = -1;
532 if (not pixelDetEleHandle.isValid() or pixelElements==
nullptr) {
537 const Identifier Pixel_ModuleID = element->identify();
592 Misalign_Vector[0]=
m1;Misalign_Vector[1]=
m2;Misalign_Vector[2]=
m3;Misalign_Vector[3]=m4;Misalign_Vector[4]=m5;Misalign_Vector[5]=m6;
613 for (
unsigned int iCorn(0); iCorn < localSurveyCoords.size(); ++iCorn ) {
617 Amg::Vector3D surveyPoint = (SurveyTrans*SurveyTransRand) * localSurveyCoords[iCorn];
623 Amg::VectorX globalSurveyPoint = element->globalPosition( surveyPoint);
624 Amg::VectorX globalCurrentPoint = element->globalPosition( currentPoint );
637 ATH_MSG_INFO(
"Local Coordinates = (" << localSurveyCoords[iCorn][0] <<
","
638 << localSurveyCoords[iCorn][1] <<
"," << localSurveyCoords[iCorn][2] <<
")");
639 ATH_MSG_INFO(
"Survey Local Coordinates = (" << surveyPoint[0] <<
","
640 << surveyPoint[1] <<
"," << surveyPoint[2] <<
")");
641 ATH_MSG_INFO(
"Current Local Coordinates = (" << currentPoint[0] <<
","
642 << currentPoint[1] <<
"," << currentPoint[2] <<
")");
643 ATH_MSG_INFO(
"Survey Global Coordinates = (" << globalSurveyPoint[0] <<
","
644 << globalSurveyPoint[1] <<
"," << globalSurveyPoint[2] <<
")");
645 ATH_MSG_INFO(
"Current Global Coordinates = (" << globalCurrentPoint[0] <<
","
646 << globalCurrentPoint[1] <<
"," << globalCurrentPoint[2] <<
")");
647 ATH_MSG_INFO(
"SurveyConstraint().setup_SurveyConstraintModules: nModulePoints " <<
m_ModuleMap[Pixel_ModuleID]->nModulePoints());
680 Misalign_Vector[0]=
m1;Misalign_Vector[1]=
m2;Misalign_Vector[2]=
m3;Misalign_Vector[3]=m4;Misalign_Vector[4]=m5;Misalign_Vector[5]=m6;
686 for (
unsigned int iCorn(0); iCorn < localSurveyCoords.size(); ++iCorn ) {
689 Amg::Vector3D surveyPoint = (SurveyTrans*SurveyTransRand) *localSurveyCoords[iCorn] ;
694 Amg::VectorX globalSurveyPoint = element->globalPosition( surveyPoint );
695 Amg::VectorX globalCurrentPoint = element->globalPosition( currentPoint );
704 <<
", nSCTModInMap " << nSCTModInMap
705 <<
", nSCTModEC " << nSCTModEC
706 <<
", nSCTModPointsEC " << nSCTModPointsEC
707 <<
", nPixMod " << nPixMod
708 <<
", nPixModInMap " << nPixModInMap
709 <<
", nPixModEC " << nPixModEC
710 <<
", nPixModPointsEC " << nPixModPointsEC);
718 std::vector< SurveyConstraintPoint > Stavepoints;
720 unsigned int nPixModEC2 = 0,nPixModPixModEC = 0,nPixModECPixModEC = 0,nSameLayer = 0,nNotIdentical = 0;
727 const Identifier Pixel_ModuleID2 = *wafer_it2;
736 if(Pixel_ModuleID != Pixel_ModuleID2){
739 (
m_ModuleMap[Pixel_ModuleID])->addStaveConstraintPoint(Stavepoints);
744 std::vector< SurveyConstraintPoint > Testpoints;
746 ATH_MSG_INFO(
"SurveyConstraint().setup_SurveyConstraintModules: Stavepoints.size() (from map) " << Testpoints.size());
758 ATH_MSG_INFO(
"Loop 2, filling stave-points, nPixModEC2 " << nPixModEC2
759 <<
", nPixModPixModEC " << nPixModPixModEC
760 <<
", nPixModECPixModEC " << nPixModECPixModEC
761 <<
", nSameLayer " << nSameLayer
762 <<
", nNotIdentical " << nNotIdentical);
765 nPixModEC2 = 0;nPixModPixModEC = 0;nPixModECPixModEC = 0;nSameLayer = 0;nNotIdentical = 0;
772 const Identifier Pixel_ModuleID2 = *wafer_it2;
779 if(Pixel_ModuleID == Pixel_ModuleID2)
continue;
782 (
m_ModuleMap[Pixel_ModuleID])->addStaveConstraintPoint(Stavepoints);
785 ATH_MSG_INFO(
"Loop 2, filling stave-points, nPixModB2 " << nPixModEC2
786 <<
", nPixModPixModB " << nPixModPixModEC
787 <<
", nPixModBPixModB " << nPixModECPixModEC
788 <<
", nSameLayer " << nSameLayer
789 <<
", nNotIdentical " << nNotIdentical);
792 nPixModEC2 = 0;nPixModPixModEC = 0;nPixModECPixModEC = 0;nSameLayer = 0;nNotIdentical = 0;
808 if(SCT_ModuleID == SCT_ModuleID2)
continue;
811 (
m_ModuleMap[SCT_ModuleID])->addStaveConstraintPoint(Stavepoints);
822 std::vector< SurveyConstraintPoint > Testpoints;
824 ATH_MSG_INFO(
"SurveyConstraint().setup_SurveyConstraintModules: Stavepoints.size() (from map) " << Testpoints.size());
830 ATH_MSG_INFO(
"Loop 2, filling stave-points, nSCTModEC2 " << nPixModEC2
831 <<
", nSCTModSCTModEC " << nPixModPixModEC
832 <<
", nSCTModECSCTModEC " << nPixModECPixModEC
833 <<
", nSameLayer " << nSameLayer
834 <<
", nNotIdentical " << nNotIdentical);
837 nPixModEC2 = 0;nPixModPixModEC = 0;nPixModECPixModEC = 0;nSameLayer = 0;nNotIdentical = 0;
853 if(SCT_ModuleID == SCT_ModuleID2)
continue;
856 (
m_ModuleMap[SCT_ModuleID])->addStaveConstraintPoint(Stavepoints);
859 ATH_MSG_INFO(
"Loop 2, filling stave-points, nSCTModB2 " << nPixModEC2
860 <<
", nSCTModSCTModB " << nPixModPixModEC
861 <<
", nSCTModBSCTModB " << nPixModECPixModEC
862 <<
", nSameLayer " << nSameLayer
863 <<
", nNotIdentical " << nNotIdentical);
◆ TransformSector()
◆ m_aligndbtoolinst
std::string SurveyConstraint::m_aligndbtoolinst |
|
private |
◆ m_current_IDAlignDBTool
◆ m_FullDisk
bool SurveyConstraint::m_FullDisk |
|
private |
◆ m_gaus
bool SurveyConstraint::m_gaus |
|
private |
◆ m_gausSect
bool SurveyConstraint::m_gausSect |
|
private |
use random (Gaus) rotations and translations for sectors
Definition at line 125 of file SurveyConstraint.h.
◆ m_idHelper
◆ m_misaligncase
int SurveyConstraint::m_misaligncase |
|
private |
◆ m_ModuleMap
◆ m_ntuple
bool SurveyConstraint::m_ntuple |
|
private |
◆ m_pixelDetEleCollKey
◆ m_pixid
◆ m_proximity
double SurveyConstraint::m_proximity |
|
private |
◆ m_RotX
double SurveyConstraint::m_RotX |
|
private |
◆ m_RotX2
double SurveyConstraint::m_RotX2 |
|
private |
Rotation in X (after Y & Z) of the first current PixEC module.
Definition at line 89 of file SurveyConstraint.h.
◆ m_RotXRand
double SurveyConstraint::m_RotXRand |
|
private |
Weight & rand Rotation in X of current PixEC modules.
Definition at line 95 of file SurveyConstraint.h.
◆ m_RotXRandPixB
double SurveyConstraint::m_RotXRandPixB |
|
private |
◆ m_RotXRandSCTB
double SurveyConstraint::m_RotXRandSCTB |
|
private |
◆ m_RotXRandSCTEC
double SurveyConstraint::m_RotXRandSCTEC |
|
private |
◆ m_RotXRandSect
double SurveyConstraint::m_RotXRandSect |
|
private |
◆ m_RotY
double SurveyConstraint::m_RotY |
|
private |
◆ m_RotYRand
double SurveyConstraint::m_RotYRand |
|
private |
Weight & rand Rotation in Y of current PixEC modules.
Definition at line 96 of file SurveyConstraint.h.
◆ m_RotYRandPixB
double SurveyConstraint::m_RotYRandPixB |
|
private |
◆ m_RotYRandSCTB
double SurveyConstraint::m_RotYRandSCTB |
|
private |
◆ m_RotYRandSCTEC
double SurveyConstraint::m_RotYRandSCTEC |
|
private |
◆ m_RotYRandSect
double SurveyConstraint::m_RotYRandSect |
|
private |
◆ m_RotZ
double SurveyConstraint::m_RotZ |
|
private |
◆ m_RotZRand
double SurveyConstraint::m_RotZRand |
|
private |
Weight & rand Rotation in Z of current PixEC modules
Definition at line 97 of file SurveyConstraint.h.
◆ m_RotZRandPixB
double SurveyConstraint::m_RotZRandPixB |
|
private |
◆ m_RotZRandSCTB
double SurveyConstraint::m_RotZRandSCTB |
|
private |
◆ m_RotZRandSCTEC
double SurveyConstraint::m_RotZRandSCTEC |
|
private |
◆ m_RotZRandSect
double SurveyConstraint::m_RotZRandSect |
|
private |
◆ m_scaleZ
double SurveyConstraint::m_scaleZ |
|
private |
◆ m_SCTDetEleCollKey
◆ m_sctid
◆ m_survey_IDAlignDBTool
◆ m_surveydbtoolinst
std::string SurveyConstraint::m_surveydbtoolinst |
|
private |
◆ m_surveyrfile
std::string SurveyConstraint::m_surveyrfile |
|
private |
◆ m_SurveyWeightPhiX
double SurveyConstraint::m_SurveyWeightPhiX |
|
private |
◆ m_SurveyWeightPhiY
double SurveyConstraint::m_SurveyWeightPhiY |
|
private |
◆ m_SurveyWeightPhiZ
double SurveyConstraint::m_SurveyWeightPhiZ |
|
private |
◆ m_SurveyWeightX
double SurveyConstraint::m_SurveyWeightX |
|
private |
Multiplicative weight, representing systematic unc.
of survey
Definition at line 78 of file SurveyConstraint.h.
◆ m_SurveyWeightY
double SurveyConstraint::m_SurveyWeightY |
|
private |
◆ m_SurveyWeightZ
double SurveyConstraint::m_SurveyWeightZ |
|
private |
◆ m_surveywfile
std::string SurveyConstraint::m_surveywfile |
|
private |
◆ m_TransLayerRand
double SurveyConstraint::m_TransLayerRand |
|
private |
rand Translation in X,Y,Z of all Pixel/SCT EC/B layers
Definition at line 123 of file SurveyConstraint.h.
◆ m_TransX
double SurveyConstraint::m_TransX |
|
private |
Translation in X of the first current PixEC module.
Definition at line 85 of file SurveyConstraint.h.
◆ m_TransXRand
double SurveyConstraint::m_TransXRand |
|
private |
Weight & rand Translation in X of current PixEC modules.
Definition at line 92 of file SurveyConstraint.h.
◆ m_TransXRandPixB
double SurveyConstraint::m_TransXRandPixB |
|
private |
Weight & rand Translation in X of current PixB modules.
Definition at line 98 of file SurveyConstraint.h.
◆ m_TransXRandSCTB
double SurveyConstraint::m_TransXRandSCTB |
|
private |
Weight & rand Translation in X of current SCTB modules.
Definition at line 110 of file SurveyConstraint.h.
◆ m_TransXRandSCTEC
double SurveyConstraint::m_TransXRandSCTEC |
|
private |
Weight & rand Translation in X of current SCTEC modules.
Definition at line 104 of file SurveyConstraint.h.
◆ m_TransXRandSect
double SurveyConstraint::m_TransXRandSect |
|
private |
◆ m_TransY
double SurveyConstraint::m_TransY |
|
private |
Translation in Y of the first current PixEC module.
Definition at line 86 of file SurveyConstraint.h.
◆ m_TransYRand
double SurveyConstraint::m_TransYRand |
|
private |
Weight & rand Translation in Y of current PixEC modules.
Definition at line 93 of file SurveyConstraint.h.
◆ m_TransYRandPixB
double SurveyConstraint::m_TransYRandPixB |
|
private |
Weight & rand Translation in Y of current PixB modules.
Definition at line 99 of file SurveyConstraint.h.
◆ m_TransYRandSCTB
double SurveyConstraint::m_TransYRandSCTB |
|
private |
Weight & rand Translation in Y of current SCTB modules.
Definition at line 111 of file SurveyConstraint.h.
◆ m_TransYRandSCTEC
double SurveyConstraint::m_TransYRandSCTEC |
|
private |
Weight & rand Translation in Y of current SCTEC modules.
Definition at line 105 of file SurveyConstraint.h.
◆ m_TransYRandSect
double SurveyConstraint::m_TransYRandSect |
|
private |
◆ m_TransZ
double SurveyConstraint::m_TransZ |
|
private |
Translation in Z of the first current PixEC module.
Definition at line 87 of file SurveyConstraint.h.
◆ m_TransZRand
double SurveyConstraint::m_TransZRand |
|
private |
Weight & rand Translation in Z of current PixEC modules.
Definition at line 94 of file SurveyConstraint.h.
◆ m_TransZRandPixB
double SurveyConstraint::m_TransZRandPixB |
|
private |
Weight & rand Translation in Z of current PixB modules.
Definition at line 100 of file SurveyConstraint.h.
◆ m_TransZRandSCTB
double SurveyConstraint::m_TransZRandSCTB |
|
private |
Weight & rand Translation in Z of current SCTB modules.
Definition at line 112 of file SurveyConstraint.h.
◆ m_TransZRandSCTEC
double SurveyConstraint::m_TransZRandSCTEC |
|
private |
Weight & rand Translation in Z of current SCTEC modules.
Definition at line 106 of file SurveyConstraint.h.
◆ m_TransZRandSect
double SurveyConstraint::m_TransZRandSect |
|
private |
The documentation for this class was generated from the following files:
virtual void getSurveyCoordsPixB(std::vector< Amg::Vector3D > &coords) override
double m_TransXRandSCTB
Weight & rand Translation in X of current SCTB modules.
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
std::map< Identifier, SurveyConstraintModule *, std::less< Identifier > > m_ModuleMap
Map of Wafer objects.
std::vector< Identifier >::const_iterator const_id_iterator
Eigen::Matrix< double, Eigen::Dynamic, 1 > VectorX
Dynamic Vector - dynamic allocation.
double m_RotYRandSCTEC
Weight & rand Rotation in Y of current SCTEC modules.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
double m_RotXRand
Weight & rand Rotation in X of current PixEC modules.
double m_SurveyWeightPhiX
""
const_id_iterator wafer_end(void) const
double m_RotXRandSect
rand Rotation in X of current PixEC sectors
Scalar phi() const
phi method
virtual int getWeightPixB(Amg::MatrixX &weight) override
double m_scaleZ
scale Z coordinate to match sensitivity
virtual void getSurveyCoordsSCTB(std::vector< Amg::Vector3D > &coords) override
const AtlasDetectorID * m_idHelper
Amg::Transform3D get_globaltolocal()
bool m_FullDisk
use Full Disk
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
virtual void getSurveyCoordsPixEC(std::vector< Amg::Vector3D > &coords) override
virtual int getWeightPixEC(Amg::MatrixX &weight) override
double m_TransYRandSCTB
Weight & rand Translation in Y of current SCTB modules.
double m_RotZRandSCTB
Weight & rand Rotation in Z of current SCTB modules
const_id_iterator wafer_begin(void) const
Iterators over full set of ids. Wafer iterator is sorted.
const_id_iterator wafer_begin(void) const
Iterators over full set of ids. Wafer iterator is sorted.
double m_TransYRand
Weight & rand Translation in Y of current PixEC modules.
std::vector< Identifier >::const_iterator const_id_iterator
IInDetAlignDBTool * m_survey_IDAlignDBTool
bool m_gausSect
use random (Gaus) rotations and translations for sectors
double m_TransYRandPixB
Weight & rand Translation in Y of current PixB modules.
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
int phi_module(const Identifier &id) const
double m_SurveyWeightX
Multiplicative weight, representing systematic unc.
double m_RotZRand
Weight & rand Rotation in Z of current PixEC modules
double m_TransX
Translation in X of the first current PixEC module.
#define AmgSymMatrix(dim)
std::string m_aligndbtoolinst
bool m_gaus
use random (Gaus) rotations and translations
void set_globaltolocal(Amg::Transform3D &globaltolocal)
std::string m_surveywfile
virtual double PhiModuleToSector(int phi_module) override
double m_TransY
Translation in Y of the first current PixEC module.
void addModuleConstraintPoint(const SurveyConstraintPoint &cPoint)
double m_RotXRandPixB
Weight & rand Rotation in X of current PixB modules.
std::string m_surveydbtoolinst
double m_TransZRandSect
rand Translation in Z of current PixEC sectors
double m_RotYRand
Weight & rand Rotation in Y of current PixEC modules.
virtual void GlobalToLocal(SurveyConstraintModule *mut, std::vector< SurveyConstraintPoint > &points) override
double m_RotZRandSCTEC
Weight & rand Rotation in Z of current SCTEC modules
double m_TransXRandSect
rand Translation in X of current PixEC sectors
CalibratedSpacePoint::Covariance_t inverse(const CalibratedSpacePoint::Covariance_t &mat)
Inverts the parsed matrix.
Eigen::Affine3d Transform3D
std::string m_surveyrfile
double m_TransXRand
Weight & rand Translation in X of current PixEC modules.
double m_RotYRandPixB
Weight & rand Rotation in Y of current PixB modules.
double m_TransZ
Translation in Z of the first current PixEC module.
double m_SurveyWeightPhiY
""
virtual int getWeightSCTEC(Amg::MatrixX &weight) override
virtual void getSurveyCoordsSCTEC(std::vector< Amg::Vector3D > &coords) override
double m_proximity
Proximity of Survey points used for alignment of SOW.
double m_TransXRandPixB
Weight & rand Translation in X of current PixB modules.
double m_TransZRandSCTEC
Weight & rand Translation in Z of current SCTEC modules.
IInDetAlignDBTool * m_current_IDAlignDBTool
int layer_disk(const Identifier &id) const
virtual int getWeightSCTB(Amg::MatrixX &weight) override
double m_RotZRandSect
rand Rotation in Z of current PixEC sectors
int layer_disk(const Identifier &id) const
StatusCode initialize(bool used=true)
double m_RotYRandSect
rand Rotation in Y of current PixEC sectors
int m_misaligncase
misaligncase
Eigen::Matrix< double, 3, 1 > Vector3D
double m_RotZRandPixB
Weight & rand Rotation in Z of current PixB modules
double m_TransZRandPixB
Weight & rand Translation in Z of current PixB modules.
double m_RotYRandSCTB
Weight & rand Rotation in Y of current SCTB modules.
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
void set_DOCA_Vector(Amg::VectorX &DOCA_Vector)
double m_TransZRandSCTB
Weight & rand Translation in Z of current SCTB modules.
double m_TransZRand
Weight & rand Translation in Z of current PixEC modules.
double m_TransXRandSCTEC
Weight & rand Translation in X of current SCTEC modules.
double m_RotX
Rotation in X of the first current PixEC module.
double m_TransYRandSect
rand Translation in Y of current PixEC sectors
int eta_module(const Identifier &id) const
Eigen::Translation< double, 3 > Translation3D
virtual int SectorNumber(int phi_module) override
virtual void setup_SurveyConstraintModules() override
int side(const Identifier &id) const
double m_RotXRandSCTEC
Weight & rand Rotation in X of current SCTEC modules.
const_id_iterator wafer_end(void) const
Eigen::AngleAxisd AngleAxis3D
double m_RotX2
Rotation in X (after Y & Z) of the first current PixEC module.
double m_RotZ
Rotation in Z of the first current PixEC module.
double m_TransYRandSCTEC
Weight & rand Translation in Y of current SCTEC modules.
int phi_module(const Identifier &id) const
double m_TransLayerRand
rand Translation in X,Y,Z of all Pixel/SCT EC/B layers
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
double m_SurveyWeightPhiZ
""
double m_RotY
Rotation in Y of the first current PixEC module.
double m_RotXRandSCTB
Weight & rand Rotation in X of current SCTB modules.