CMS 3D CMS Logo

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

#include <TrackerGeometryCompare.h>

Inheritance diagram for TrackerGeometryCompare:
edm::EDAnalyzer edm::EDConsumerBase

Public Types

typedef AlignTransform SurveyValue
 
typedef Alignments SurveyValues
 
- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 Read from DB and print survey info. More...
 
void endJob () override
 
 TrackerGeometryCompare (const edm::ParameterSet &)
 Do nothing. Required by framework. More...
 
- 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
 
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::vector< ModuleDescription const * > &modules, 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
 
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 addSurveyInfo (Alignable *ali)
 
void compareGeometries (Alignable *refAli, Alignable *curAli, const TrackerTopology *tTopo, const edm::EventSetup &iSetup)
 
void compareSurfaceDeformations (TTree *_inputTree11, TTree *_inputTree12)
 
void createROOTGeometry (const edm::EventSetup &iSetup)
 
void diffCommonTrackerSystem (Alignable *refAli, Alignable *curAli)
 
void fillIdentifiers (int subdetlevel, int rawid, const TrackerTopology *tTopo)
 
void fillTree (Alignable *refAli, const AlgebraicVector &diff, const TrackerTopology *tTopo, const edm::EventSetup &iSetup)
 
bool passIdCut (uint32_t)
 
void setCommonTrackerSystem ()
 
void surveyToTracker (AlignableTracker *ali, Alignments *alignVals, AlignmentErrorsExtended *alignErrors)
 

Private Attributes

TTree * _alignTree
 
float _alphaVal
 
int _badModuleQuality
 
float _betaVal
 
align::StructureType _commonTrackerLevel
 
float _dalphaVal
 
float _daVal
 
float _dbetaVal
 
float _dbVal
 
int _detDim
 
bool _detIdFlag
 
std::string _detIdFlagFile
 
std::vector< uint32_t > _detIdFlagVector
 
float _dgammaVal
 
float _dgVal
 
float _dphiVal
 
float _drVal
 
float _duVal
 
float _dvVal
 
float _dwVal
 
float _dxVal
 
float _dyVal
 
float _dzVal
 
float _etaVal
 
std::string _filename
 
float _gammaVal
 
int _id
 
uint32_t _identifiers [6]
 
int _inModuleList
 
std::string _inputFilename1
 
std::string _inputFilename2
 
TFile * _inputRootFile1
 
TFile * _inputRootFile2
 
TTree * _inputTree01
 
TTree * _inputTree02
 
TTree * _inputTree11
 
TTree * _inputTree12
 
std::string _inputTreenameAlign
 
std::string _inputTreenameDeform
 
int _level
 
const std::vector< std::string > _levelStrings
 
int _mid
 
int _mlevel
 
int _moduleInList
 
std::vector< int > _moduleList
 
std::ifstream _moduleListFile
 
std::string _moduleListName
 
float _phiVal
 
float _rVal
 
std::string _setCommonTrackerSystem
 
int _sublevel
 
double _surfDeform [13]
 
float _surLength
 
double _surRot [9]
 
float _surWidth
 
TFile * _theFile
 
align::PositionType _TrackerCommonCM
 
align::GlobalVector _TrackerCommonR
 
align::GlobalVector _TrackerCommonT
 
int _type
 
int _useDetId
 
std::string _weightBy
 
bool _weightById
 
std::string _weightByIdFile
 
std::vector< unsigned int > _weightByIdVector
 
bool _writeToDB
 
float _xVal
 
float _yVal
 
float _zVal
 
AlignableTrackercurrentTracker
 
AlignableTrackerdummyTracker
 
bool firstEvent_
 
std::map< std::string, TH1D * > m_h1
 
int m_nBins
 
double m_rangeHigh
 
double m_rangeLow
 
std::vector< align::StructureTypem_theLevels
 
std::vector< TrackerMapm_vtkmap
 
AlignableTrackerreferenceTracker
 
const SurveyErrorstheSurveyErrors
 
unsigned int theSurveyIndex
 
const AlignmentstheSurveyValues
 

Additional Inherited Members

- 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 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>
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)
 
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

Module that reads survey info from DB and prints them out.

Usage: module comparator = TrackerGeometryCompare {

lots of stuff

} path p = { comparator }

Date
2012/12/02 22:13:12
Revision
1.14
Author
Nhan Tran

******** Including surface deformations in the geometry comparison ********


Definition at line 48 of file TrackerGeometryCompare.h.

Member Typedef Documentation

◆ SurveyValue

Definition at line 50 of file TrackerGeometryCompare.h.

◆ SurveyValues

Definition at line 51 of file TrackerGeometryCompare.h.

Constructor & Destructor Documentation

◆ TrackerGeometryCompare()

TrackerGeometryCompare::TrackerGeometryCompare ( const edm::ParameterSet cfg)

Do nothing. Required by framework.

Definition at line 60 of file TrackerGeometryCompare.cc.

61  : referenceTracker(nullptr),
62  dummyTracker(nullptr),
63  currentTracker(nullptr),
64  theSurveyIndex(0),
65  theSurveyValues(nullptr),
66  theSurveyErrors(nullptr),
67  _levelStrings(cfg.getUntrackedParameter<std::vector<std::string> >("levels")),
68  _writeToDB(cfg.getUntrackedParameter<bool>("writeToDB")),
70  _moduleListFile(nullptr),
71  _moduleList(0),
72  _inputRootFile1(nullptr),
73  _inputRootFile2(nullptr),
74  _inputTree01(nullptr),
75  _inputTree02(nullptr),
76  _inputTree11(nullptr),
77  _inputTree12(nullptr),
78  m_nBins(10000),
79  m_rangeLow(-.1),
80  m_rangeHigh(.1),
81  firstEvent_(true),
82  m_vtkmap(13) {
83  _moduleListName = cfg.getUntrackedParameter<std::string>("moduleList");
84 
85  //input is ROOT
86  _inputFilename1 = cfg.getUntrackedParameter<std::string>("inputROOTFile1");
87  _inputFilename2 = cfg.getUntrackedParameter<std::string>("inputROOTFile2");
88  _inputTreenameAlign = cfg.getUntrackedParameter<std::string>("treeNameAlign");
89  _inputTreenameDeform = cfg.getUntrackedParameter<std::string>("treeNameDeform");
90 
91  //output file
92  _filename = cfg.getUntrackedParameter<std::string>("outputFile");
93 
94  _weightBy = cfg.getUntrackedParameter<std::string>("weightBy");
95  _setCommonTrackerSystem = cfg.getUntrackedParameter<std::string>("setCommonTrackerSystem");
96  _detIdFlag = cfg.getUntrackedParameter<bool>("detIdFlag");
97  _detIdFlagFile = cfg.getUntrackedParameter<std::string>("detIdFlagFile");
98  _weightById = cfg.getUntrackedParameter<bool>("weightById");
99  _weightByIdFile = cfg.getUntrackedParameter<std::string>("weightByIdFile");
100 
101  // if want to use, make id cut list
102  if (_detIdFlag) {
103  std::ifstream fin;
104  fin.open(_detIdFlagFile.c_str());
105 
106  while (!fin.eof() && fin.good()) {
107  uint32_t id;
108  fin >> id;
109  _detIdFlagVector.push_back(id);
110  }
111  fin.close();
112  }
113 
114  // turn weightByIdFile into weightByIdVector
115  if (_weightById) {
116  std::ifstream inFile;
117  inFile.open(_weightByIdFile.c_str());
118  int ctr = 0;
119  while (!inFile.eof()) {
120  ctr++;
121  unsigned int listId;
122  inFile >> listId;
123  inFile.ignore(256, '\n');
124 
125  _weightByIdVector.push_back(listId);
126  }
127  inFile.close();
128  }
129 
130  //root configuration
131  _theFile = new TFile(_filename.c_str(), "RECREATE");
132  _alignTree = new TTree("alignTree",
133  "alignTree"); //,"id:level:mid:mlevel:sublevel:x:y:z:r:phi:a:b:c:dx:dy:dz:dr:dphi:da:db:dc");
134  _alignTree->Branch("id", &_id, "id/I");
135  _alignTree->Branch("badModuleQuality", &_badModuleQuality, "badModuleQuality/I");
136  _alignTree->Branch("inModuleList", &_inModuleList, "inModuleList/I");
137  _alignTree->Branch("level", &_level, "level/I");
138  _alignTree->Branch("mid", &_mid, "mid/I");
139  _alignTree->Branch("mlevel", &_mlevel, "mlevel/I");
140  _alignTree->Branch("sublevel", &_sublevel, "sublevel/I");
141  _alignTree->Branch("x", &_xVal, "x/F");
142  _alignTree->Branch("y", &_yVal, "y/F");
143  _alignTree->Branch("z", &_zVal, "z/F");
144  _alignTree->Branch("r", &_rVal, "r/F");
145  _alignTree->Branch("phi", &_phiVal, "phi/F");
146  _alignTree->Branch("eta", &_etaVal, "eta/F");
147  _alignTree->Branch("alpha", &_alphaVal, "alpha/F");
148  _alignTree->Branch("beta", &_betaVal, "beta/F");
149  _alignTree->Branch("gamma", &_gammaVal, "gamma/F");
150  _alignTree->Branch("dx", &_dxVal, "dx/F");
151  _alignTree->Branch("dy", &_dyVal, "dy/F");
152  _alignTree->Branch("dz", &_dzVal, "dz/F");
153  _alignTree->Branch("dr", &_drVal, "dr/F");
154  _alignTree->Branch("dphi", &_dphiVal, "dphi/F");
155  _alignTree->Branch("dalpha", &_dalphaVal, "dalpha/F");
156  _alignTree->Branch("dbeta", &_dbetaVal, "dbeta/F");
157  _alignTree->Branch("dgamma", &_dgammaVal, "dgamma/F");
158  _alignTree->Branch("du", &_duVal, "du/F");
159  _alignTree->Branch("dv", &_dvVal, "dv/F");
160  _alignTree->Branch("dw", &_dwVal, "dw/F");
161  _alignTree->Branch("da", &_daVal, "da/F");
162  _alignTree->Branch("db", &_dbVal, "db/F");
163  _alignTree->Branch("dg", &_dgVal, "dg/F");
164  _alignTree->Branch("useDetId", &_useDetId, "useDetId/I");
165  _alignTree->Branch("detDim", &_detDim, "detDim/I");
166  _alignTree->Branch("surW", &_surWidth, "surW/F");
167  _alignTree->Branch("surL", &_surLength, "surL/F");
168  _alignTree->Branch("surRot", &_surRot, "surRot[9]/D");
169  _alignTree->Branch("identifiers", &_identifiers, "identifiers[6]/I");
170  _alignTree->Branch("type", &_type, "type/I");
171  _alignTree->Branch("surfDeform", &_surfDeform, "surfDeform[13]/D");
172 
173  for (std::vector<TrackerMap>::iterator it = m_vtkmap.begin(); it != m_vtkmap.end(); ++it) {
174  it->setPalette(1);
175  it->addPixel(true);
176  }
177 
179  TFileDirectory subDir_All = fs->mkdir("AllSubdetectors");
180  TFileDirectory subDir_PXB = fs->mkdir("PixelBarrel");
181  TFileDirectory subDir_PXF = fs->mkdir("PixelEndcap");
182  for (int ii = 0; ii < 13; ++ii) {
183  std::stringstream histname0;
184  histname0 << "SurfDeform_Par_" << ii;
185  m_h1[histname0.str()] =
186  subDir_All.make<TH1D>((histname0.str()).c_str(), (histname0.str()).c_str(), m_nBins, m_rangeLow, m_rangeHigh);
187 
188  std::stringstream histname1;
189  histname1 << "SurfDeform_PixelBarrel_Par_" << ii;
190  m_h1[histname1.str()] =
191  subDir_PXB.make<TH1D>((histname1.str()).c_str(), (histname1.str()).c_str(), m_nBins, m_rangeLow, m_rangeHigh);
192 
193  std::stringstream histname2;
194  histname2 << "SurfDeform_PixelEndcap_Par_" << ii;
195  m_h1[histname2.str()] =
196  subDir_PXF.make<TH1D>((histname2.str()).c_str(), (histname2.str()).c_str(), m_nBins, m_rangeLow, m_rangeHigh);
197  }
198 }

References _alignTree, _alphaVal, _badModuleQuality, _betaVal, _dalphaVal, _daVal, _dbetaVal, _dbVal, _detDim, _detIdFlag, _detIdFlagFile, _detIdFlagVector, _dgammaVal, _dgVal, _dphiVal, _drVal, _duVal, _dvVal, _dwVal, _dxVal, _dyVal, _dzVal, _etaVal, _filename, _gammaVal, _id, _identifiers, _inModuleList, _inputFilename1, _inputFilename2, _inputTreenameAlign, _inputTreenameDeform, _level, _mid, _mlevel, _moduleListName, _phiVal, _rVal, _setCommonTrackerSystem, _sublevel, _surfDeform, _surLength, _surRot, _surWidth, _theFile, _type, _useDetId, _weightBy, _weightById, _weightByIdFile, _weightByIdVector, _xVal, _yVal, _zVal, looper::cfg, dqmiodatasetharvest::ctr, groupFilesInBlocks::fin, triggerObjects_cff::id, cuy::ii, m_h1, m_nBins, m_rangeHigh, m_rangeLow, m_vtkmap, TFileDirectory::make(), TFileService::mkdir(), and AlCaHLTBitMon_QueryRunRegistry::string.

Member Function Documentation

◆ addSurveyInfo()

void TrackerGeometryCompare::addSurveyInfo ( Alignable ali)
private

Definition at line 977 of file TrackerGeometryCompare.cc.

977  {
978  const auto& comp = ali->components();
979 
980  unsigned int nComp = comp.size();
981 
982  for (unsigned int i = 0; i < nComp; ++i)
983  addSurveyInfo(comp[i]);
984 
986 
987  if (ali->geomDetId().rawId() != error.rawId() || ali->alignableObjectId() != error.structureType()) {
988  throw cms::Exception("DatabaseError") << "Error reading survey info from DB. Mismatched id!";
989  }
990 
991  const CLHEP::Hep3Vector& pos = theSurveyValues->m_align[theSurveyIndex].translation();
992  const CLHEP::HepRotation& rot = theSurveyValues->m_align[theSurveyIndex].rotation();
993 
994  AlignableSurface surf(
995  align::PositionType(pos.x(), pos.y(), pos.z()),
996  align::RotationType(rot.xx(), rot.xy(), rot.xz(), rot.yx(), rot.yy(), rot.yz(), rot.zx(), rot.zy(), rot.zz()));
997 
998  surf.setWidth(ali->surface().width());
999  surf.setLength(ali->surface().length());
1000 
1001  ali->setSurvey(new SurveyDet(surf, error.matrix()));
1002 
1003  ++theSurveyIndex;
1004 }

References Alignable::alignableObjectId(), AlCaHLTBitMon_QueryRunRegistry::comp, Alignable::components(), relativeConstraints::error, Exception, Alignable::geomDetId(), mps_fire::i, AlignableSurface::length(), Alignments::m_align, SurveyErrors::m_surveyErrors, DetId::rawId(), makeMuonMisalignmentScenario::rot, AlignableSurface::setLength(), Alignable::setSurvey(), AlignableSurface::setWidth(), Alignable::surface(), theSurveyErrors, theSurveyIndex, theSurveyValues, and AlignableSurface::width().

◆ analyze()

void TrackerGeometryCompare::analyze ( const edm::Event ,
const edm::EventSetup iSetup 
)
overridevirtual

Implements edm::EDAnalyzer.

Definition at line 220 of file TrackerGeometryCompare.cc.

220  {
221  if (firstEvent_) {
222  //Retrieve tracker topology from geometry
223  edm::ESHandle<TrackerTopology> tTopoHandle;
224  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
225  const TrackerTopology* const tTopo = tTopoHandle.product();
226 
227  //upload the ROOT geometries
228  createROOTGeometry(iSetup);
229 
230  //setting the levels being used in the geometry comparator
231  edm::LogInfo("TrackerGeometryCompare") << "levels: " << _levelStrings.size();
232  for (const auto& level : _levelStrings) {
234  edm::LogInfo("TrackerGeometryCompare") << "level: " << level;
235  edm::LogInfo("TrackerGeometryCompare")
236  << "structure type: " << currentTracker->objectIdProvider().stringToId(level);
237  }
238 
239  //set common tracker system first
240  // if setting the tracker common system
241  if (_setCommonTrackerSystem != "NONE") {
243  }
244 
245  //compare the goemetries
248 
249  //write out ntuple
250  //might be better to do within output module
251 
252  if (_writeToDB) {
253  Alignments* myAlignments = currentTracker->alignments();
254  AlignmentErrorsExtended* myAlignmentErrorsExtended = currentTracker->alignmentErrors();
255 
256  // 2. Store alignment[Error]s to DB
258  // Call service
259  if (!poolDbService.isAvailable()) // Die if not available
260  throw cms::Exception("NotAvailable") << "PoolDBOutputService not available";
261 
262  poolDbService->writeOne<Alignments>(&(*myAlignments), poolDbService->beginOfTime(), "TrackerAlignmentRcd");
263  poolDbService->writeOne<AlignmentErrorsExtended>(
264  &(*myAlignmentErrorsExtended), poolDbService->beginOfTime(), "TrackerAlignmentErrorExtendedRcd");
265  }
266 
267  firstEvent_ = false;
268  }
269 }

References _inputTree11, _inputTree12, _levelStrings, _setCommonTrackerSystem, _writeToDB, AlignableTracker::alignmentErrors(), AlignableTracker::alignments(), cond::service::PoolDBOutputService::beginOfTime(), compareGeometries(), compareSurfaceDeformations(), createROOTGeometry(), currentTracker, firstEvent_, edm::EventSetup::get(), get, edm::Service< T >::isAvailable(), personalPlayback::level, m_theLevels, AlignableTracker::objectIdProvider(), edm::ESHandle< T >::product(), referenceTracker, setCommonTrackerSystem(), AlignableObjectId::stringToId(), and cond::service::PoolDBOutputService::writeOne().

◆ beginJob()

void TrackerGeometryCompare::beginJob ( void  )
overridevirtual

Read from DB and print survey info.

Reimplemented from edm::EDAnalyzer.

Definition at line 200 of file TrackerGeometryCompare.cc.

200 { firstEvent_ = true; }

References firstEvent_.

◆ compareGeometries()

void TrackerGeometryCompare::compareGeometries ( Alignable refAli,
Alignable curAli,
const TrackerTopology tTopo,
const edm::EventSetup iSetup 
)
private

Definition at line 600 of file TrackerGeometryCompare.cc.

603  {
604  using namespace align;
605 
606  const auto& refComp = refAli->components();
607  const auto& curComp = curAli->components();
608 
609  unsigned int nComp = refComp.size();
610  //only perform for designate levels
611  bool useLevel = false;
612  for (unsigned int i = 0; i < m_theLevels.size(); ++i) {
613  if (refAli->alignableObjectId() == m_theLevels[i])
614  useLevel = true;
615  }
616 
617  //another added level for difference between det and detunit
618  //if ((refAli->alignableObjectId()==2)&&(nComp == 1)) useLevel = false;
619 
620  //coordinate matching, etc etc
621  if (useLevel) {
622  DetId detid(refAli->id());
623 
624  CLHEP::Hep3Vector Rtotal, Wtotal, lRtotal, lWtotal;
625  Rtotal.set(0., 0., 0.);
626  Wtotal.set(0., 0., 0.);
627  lRtotal.set(0., 0., 0.);
628  lWtotal.set(0., 0., 0.);
629 
630  bool converged = false;
631 
633 
634  for (int i = 0; i < 100; i++) {
635  // Get differences between alignments for rotations and translations
636  // both local and global
638 
639  // 'diffAlignables' returns 'refAli - curAli' for translations and 'curAli - refAli' for rotations.
640  // The plan is to unify this at some point, but a simple change of the sign for one of them was postponed
641  // to do some further checks to understand the rotations better
642  //Updated July 2018: as requested the sign in the translations has been changed to match the one in rotations. A test was done to change the diffAlignables function and solve the issue there, but proved quite time consuming. To unify the sign convention in the least amount of time the choice was made to change the sign here.
643  CLHEP::Hep3Vector dR(-diff[0], -diff[1], -diff[2]);
644  CLHEP::Hep3Vector dW(diff[3], diff[4], diff[5]);
645  CLHEP::Hep3Vector dRLocal(-diff[6], -diff[7], -diff[8]);
646  CLHEP::Hep3Vector dWLocal(diff[9], diff[10], diff[11]);
647 
648  // Translations
649  Rtotal += dR;
650  lRtotal += dRLocal;
651 
652  //Rotations
653  CLHEP::HepRotation rot(Wtotal.unit(), Wtotal.mag());
654  CLHEP::HepRotation drot(dW.unit(), dW.mag());
655  rot *= drot;
656  Wtotal.set(rot.axis().x() * rot.delta(), rot.axis().y() * rot.delta(), rot.axis().z() * rot.delta());
657 
658  CLHEP::HepRotation rotLocal(lWtotal.unit(), lWtotal.mag());
659  CLHEP::HepRotation drotLocal(dWLocal.unit(), dWLocal.mag());
660  rotLocal *= drotLocal;
661  lWtotal.set(rotLocal.axis().x() * rotLocal.delta(),
662  rotLocal.axis().y() * rotLocal.delta(),
663  rotLocal.axis().z() * rotLocal.delta());
664 
665  // Move current alignable by shift and check if difference
666  // is smaller than tolerance value
667  // if true, break the loop
668  align::moveAlignable(curAli, diff);
669  float tolerance = 1e-7;
671  align::GlobalVector checkR(check[0], check[1], check[2]);
672  align::GlobalVector checkW(check[3], check[4], check[5]);
673  if ((checkR.mag() < tolerance) && (checkW.mag() < tolerance)) {
674  converged = true;
675  break;
676  }
677  }
678 
679  // give an exception if difference has not fallen below tolerance level
680  // i.e. method has not converged
681  if (!converged) {
682  edm::LogInfo("TrackerGeometryCompare")
683  << "Tolerance Exceeded!(alObjId: " << refAli->alignableObjectId()
684  << ", rawId: " << refAli->geomDetId().rawId() << ", subdetId: " << detid.subdetId() << "): " << diff << check;
685  throw cms::Exception("Tolerance in TrackerGeometryCompare exceeded");
686  }
687 
688  AlgebraicVector TRtot(12);
689  // global
690  TRtot(1) = Rtotal.x();
691  TRtot(2) = Rtotal.y();
692  TRtot(3) = Rtotal.z();
693  TRtot(4) = Wtotal.x();
694  TRtot(5) = Wtotal.y();
695  TRtot(6) = Wtotal.z();
696  // local
697  TRtot(7) = lRtotal.x();
698  TRtot(8) = lRtotal.y();
699  TRtot(9) = lRtotal.z();
700  TRtot(10) = lWtotal.x();
701  TRtot(11) = lWtotal.y();
702  TRtot(12) = lWtotal.z();
703 
704  fillTree(refAli, TRtot, tTopo, iSetup);
705  }
706 
707  // another added level for difference between det and detunit
708  for (unsigned int i = 0; i < nComp; ++i)
709  compareGeometries(refComp[i], curComp[i], tTopo, iSetup);
710 }

References _weightBy, _weightById, _weightByIdVector, Alignable::alignableObjectId(), RPCNoise_example::check, Alignable::components(), change_name::diff, align::diffAlignables(), HGC3DClusterGenMatchSelector_cfi::dR, MillePedeFileConverter_cfg::e, Exception, fillTree(), Alignable::geomDetId(), mps_fire::i, Alignable::id(), m_theLevels, PV3DBase< T, PVType, FrameType >::mag(), align::moveAlignable(), DetId::rawId(), makeMuonMisalignmentScenario::rot, and tolerance.

Referenced by analyze().

◆ compareSurfaceDeformations()

void TrackerGeometryCompare::compareSurfaceDeformations ( TTree *  _inputTree11,
TTree *  _inputTree12 
)
private

Definition at line 448 of file TrackerGeometryCompare.cc.

448  {
449  if (_inputFilename1 != "IDEAL" && _inputFilename2 != "IDEAL") {
450  int inputRawid1;
451  int inputRawid2;
452  int inputSubdetid1, inputSubdetid2;
453  int inputDtype1, inputDtype2;
454  std::vector<double> inputDpar1;
455  std::vector<double> inputDpar2;
456  std::vector<double>* p_inputDpar1 = &inputDpar1;
457  std::vector<double>* p_inputDpar2 = &inputDpar2;
458 
459  TTree* refTree = (TTree*)_inputRootFile1->Get(_inputTreenameDeform.c_str());
460  refTree->SetBranchAddress("irawid", &inputRawid1);
461  refTree->SetBranchAddress("subdetid", &inputSubdetid1);
462  refTree->SetBranchAddress("dtype", &inputDtype1);
463  refTree->SetBranchAddress("dpar", &p_inputDpar1);
464 
465  TTree* curTree = (TTree*)_inputRootFile2->Get(_inputTreenameDeform.c_str());
466  curTree->SetBranchAddress("irawid", &inputRawid2);
467  curTree->SetBranchAddress("subdetid", &inputSubdetid2);
468  curTree->SetBranchAddress("dtype", &inputDtype2);
469  curTree->SetBranchAddress("dpar", &p_inputDpar2);
470 
471  unsigned int nEntries11 = refTree->GetEntries();
472  unsigned int nEntries12 = curTree->GetEntries();
473 
474  if (nEntries11 != nEntries12) {
475  edm::LogError("TrackerGeometryCompare") << " Surface deformation parameters in two geometries differ!\n";
476  return;
477  }
478 
479  for (unsigned int iEntry = 0; iEntry < nEntries12; ++iEntry) {
480  refTree->GetEntry(iEntry);
481  curTree->GetEntry(iEntry);
482  for (int ii = 0; ii < 13; ++ii) {
483  _surfDeform[ii] = -1.0;
484  }
485  for (int npar = 0; npar < int(inputDpar2.size()); ++npar) {
486  if (inputRawid1 == inputRawid2) {
487  _surfDeform[npar] = inputDpar2.at(npar) - inputDpar1.at(npar);
488  std::stringstream histname0;
489  histname0 << "SurfDeform_Par_" << npar;
490  if (TMath::Abs(_surfDeform[npar]) > (m_rangeHigh - m_rangeLow) / (10. * m_nBins))
491  m_h1[histname0.str()]->Fill(_surfDeform[npar]);
492  if (inputSubdetid1 == 1 && inputSubdetid2 == 1) {
493  std::stringstream histname1;
494  histname1 << "SurfDeform_PixelBarrel_Par_" << npar;
495  if (TMath::Abs(_surfDeform[npar]) > (m_rangeHigh - m_rangeLow) / (10. * m_nBins))
496  m_h1[histname1.str()]->Fill(_surfDeform[npar]);
497  }
498  if (inputSubdetid1 == 2 && inputSubdetid2 == 2) {
499  std::stringstream histname2;
500  histname2 << "SurfDeform_PixelEndcap_Par_" << npar;
501  if (TMath::Abs(_surfDeform[npar]) > (m_rangeHigh - m_rangeLow) / (10. * m_nBins))
502  m_h1[histname2.str()]->Fill(_surfDeform[npar]);
503  }
504  (m_vtkmap.at(npar)).fill_current_val(inputRawid1, _surfDeform[npar]);
505  }
506  }
507  }
508 
509  } else if (_inputFilename1 == "IDEAL" && _inputFilename2 != "IDEAL") {
510  int inputRawid2;
511  int inputSubdetid2;
512  int inputDtype2;
513  std::vector<double> inputDpar2;
514  std::vector<double>* p_inputDpar2 = &inputDpar2;
515 
516  TTree* curTree = (TTree*)_inputRootFile2->Get(_inputTreenameDeform.c_str());
517  curTree->SetBranchAddress("irawid", &inputRawid2);
518  curTree->SetBranchAddress("subdetid", &inputSubdetid2);
519  curTree->SetBranchAddress("dtype", &inputDtype2);
520  curTree->SetBranchAddress("dpar", &p_inputDpar2);
521 
522  unsigned int nEntries12 = curTree->GetEntries();
523 
524  for (unsigned int iEntry = 0; iEntry < nEntries12; ++iEntry) {
525  curTree->GetEntry(iEntry);
526  for (int ii = 0; ii < 12; ++ii) {
527  _surfDeform[ii] = -1.0;
528  }
529  for (int npar = 0; npar < int(inputDpar2.size()); ++npar) {
530  _surfDeform[npar] = inputDpar2.at(npar);
531  std::stringstream histname0;
532  histname0 << "SurfDeform_Par_" << npar;
533  if (TMath::Abs(_surfDeform[npar]) > (m_rangeHigh - m_rangeLow) / (10. * m_nBins))
534  m_h1[histname0.str()]->Fill(_surfDeform[npar]);
535  if (inputSubdetid2 == 1) {
536  std::stringstream histname1;
537  histname1 << "SurfDeform_PixelBarrel_Par_" << npar;
538  if (TMath::Abs(_surfDeform[npar]) > (m_rangeHigh - m_rangeLow) / (10. * m_nBins))
539  m_h1[histname1.str()]->Fill(_surfDeform[npar]);
540  }
541  if (inputSubdetid2 == 2) {
542  std::stringstream histname2;
543  histname2 << "SurfDeform_PixelEndcap_Par_" << npar;
544  if (TMath::Abs(_surfDeform[npar]) > (m_rangeHigh - m_rangeLow) / (10. * m_nBins))
545  m_h1[histname2.str()]->Fill(_surfDeform[npar]);
546  }
547  (m_vtkmap.at(npar)).fill_current_val(inputRawid2, _surfDeform[npar]);
548  }
549  }
550 
551  } else if (_inputFilename1 != "IDEAL" && _inputFilename2 == "IDEAL") {
552  int inputRawid1;
553  int inputSubdetid1;
554  int inputDtype1;
555  std::vector<double> inputDpar1;
556  std::vector<double>* p_inputDpar1 = &inputDpar1;
557 
558  TTree* refTree = (TTree*)_inputRootFile1->Get(_inputTreenameDeform.c_str());
559  refTree->SetBranchAddress("irawid", &inputRawid1);
560  refTree->SetBranchAddress("subdetid", &inputSubdetid1);
561  refTree->SetBranchAddress("dtype", &inputDtype1);
562  refTree->SetBranchAddress("dpar", &p_inputDpar1);
563 
564  unsigned int nEntries11 = refTree->GetEntries();
565 
566  for (unsigned int iEntry = 0; iEntry < nEntries11; ++iEntry) {
567  refTree->GetEntry(iEntry);
568  for (int ii = 0; ii < 12; ++ii) {
569  _surfDeform[ii] = -1.0;
570  }
571  for (int npar = 0; npar < int(inputDpar1.size()); ++npar) {
572  _surfDeform[npar] = -inputDpar1.at(npar);
573  std::stringstream histname0;
574  histname0 << "SurfDeform_Par_" << npar;
575  if (TMath::Abs(_surfDeform[npar]) > (m_rangeHigh - m_rangeLow) / (10. * m_nBins))
576  m_h1[histname0.str()]->Fill(_surfDeform[npar]);
577  if (inputSubdetid1 == 1) {
578  std::stringstream histname1;
579  histname1 << "SurfDeform_PixelBarrel_Par_" << npar;
580  if (TMath::Abs(_surfDeform[npar]) > (m_rangeHigh - m_rangeLow) / (10. * m_nBins))
581  m_h1[histname1.str()]->Fill(_surfDeform[npar]);
582  }
583  if (inputSubdetid1 == 2) {
584  std::stringstream histname2;
585  histname2 << "SurfDeform_PixelEndcap_Par_" << npar;
586  if (TMath::Abs(_surfDeform[npar]) > (m_rangeHigh - m_rangeLow) / (10. * m_nBins))
587  m_h1[histname2.str()]->Fill(_surfDeform[npar]);
588  }
589  (m_vtkmap.at(npar)).fill_current_val(inputRawid1, _surfDeform[npar]);
590  }
591  }
592 
593  } else if (_inputFilename1 == "IDEAL" && _inputFilename2 == "IDEAL") {
594  edm::LogInfo("TrackerGeometryCompare") << ">>>> Comparing IDEAL with IDEAL: nothing to do! <<<<\n";
595  }
596 
597  return;
598 }

References _inputFilename1, _inputFilename2, _inputRootFile1, _inputRootFile2, _inputTreenameDeform, _surfDeform, Abs(), cuy::ii, createfilelist::int, m_h1, m_nBins, m_rangeHigh, m_rangeLow, and m_vtkmap.

Referenced by analyze().

◆ createROOTGeometry()

void TrackerGeometryCompare::createROOTGeometry ( const edm::EventSetup iSetup)
private

Definition at line 271 of file TrackerGeometryCompare.cc.

271  {
272  int inputRawId1, inputRawId2;
273  double inputX1, inputY1, inputZ1, inputX2, inputY2, inputZ2;
274  double inputAlpha1, inputBeta1, inputGamma1, inputAlpha2, inputBeta2, inputGamma2;
275 
276  //Retrieve tracker topology from geometry
277  edm::ESHandle<TrackerTopology> tTopoHandle;
278  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
279  const TrackerTopology* const tTopo = tTopoHandle.product();
280 
281  // Fill module IDs from file into a list
283  if (_moduleListFile.is_open()) {
285  while (!_moduleListFile.eof()) {
286  std::getline(_moduleListFile, line);
287  _moduleList.push_back(std::atoi(line.c_str()));
288  }
289  } else {
290  edm::LogInfo("TrackerGeometryCompare") << "Error: Module list not found! Please verify that given list exists!";
291  }
292 
293  //declare alignments
294  Alignments* alignments1 = new Alignments();
295  AlignmentErrorsExtended* alignmentErrors1 = new AlignmentErrorsExtended();
296  if (_inputFilename1 != "IDEAL") {
297  _inputRootFile1 = new TFile(_inputFilename1.c_str());
298  TTree* _inputTree01 = (TTree*)_inputRootFile1->Get(_inputTreenameAlign.c_str());
299  _inputTree01->SetBranchAddress("rawid", &inputRawId1);
300  _inputTree01->SetBranchAddress("x", &inputX1);
301  _inputTree01->SetBranchAddress("y", &inputY1);
302  _inputTree01->SetBranchAddress("z", &inputZ1);
303  _inputTree01->SetBranchAddress("alpha", &inputAlpha1);
304  _inputTree01->SetBranchAddress("beta", &inputBeta1);
305  _inputTree01->SetBranchAddress("gamma", &inputGamma1);
306 
307  int nEntries1 = _inputTree01->GetEntries();
308  //fill alignments
309  for (int i = 0; i < nEntries1; ++i) {
310  _inputTree01->GetEntry(i);
311  CLHEP::Hep3Vector translation1(inputX1, inputY1, inputZ1);
312  CLHEP::HepEulerAngles eulerangles1(inputAlpha1, inputBeta1, inputGamma1);
313  uint32_t detid1 = inputRawId1;
314  AlignTransform transform1(translation1, eulerangles1, detid1);
315  alignments1->m_align.push_back(transform1);
316 
317  //dummy errors
318  CLHEP::HepSymMatrix clhepSymMatrix(3, 0);
319  AlignTransformErrorExtended transformError(clhepSymMatrix, detid1);
320  alignmentErrors1->m_alignError.push_back(transformError);
321  }
322 
323  // to get the right order, sort by rawId
324  std::sort(alignments1->m_align.begin(), alignments1->m_align.end());
325  std::sort(alignmentErrors1->m_alignError.begin(), alignmentErrors1->m_alignError.end());
326  }
327  //------------------
328  Alignments* alignments2 = new Alignments();
329  AlignmentErrorsExtended* alignmentErrors2 = new AlignmentErrorsExtended();
330  if (_inputFilename2 != "IDEAL") {
331  _inputRootFile2 = new TFile(_inputFilename2.c_str());
332  TTree* _inputTree02 = (TTree*)_inputRootFile2->Get(_inputTreenameAlign.c_str());
333  _inputTree02->SetBranchAddress("rawid", &inputRawId2);
334  _inputTree02->SetBranchAddress("x", &inputX2);
335  _inputTree02->SetBranchAddress("y", &inputY2);
336  _inputTree02->SetBranchAddress("z", &inputZ2);
337  _inputTree02->SetBranchAddress("alpha", &inputAlpha2);
338  _inputTree02->SetBranchAddress("beta", &inputBeta2);
339  _inputTree02->SetBranchAddress("gamma", &inputGamma2);
340 
341  int nEntries2 = _inputTree02->GetEntries();
342  //fill alignments
343  for (int i = 0; i < nEntries2; ++i) {
344  _inputTree02->GetEntry(i);
345  CLHEP::Hep3Vector translation2(inputX2, inputY2, inputZ2);
346  CLHEP::HepEulerAngles eulerangles2(inputAlpha2, inputBeta2, inputGamma2);
347  uint32_t detid2 = inputRawId2;
348  AlignTransform transform2(translation2, eulerangles2, detid2);
349  alignments2->m_align.push_back(transform2);
350 
351  //dummy errors
352  CLHEP::HepSymMatrix clhepSymMatrix(3, 0);
353  AlignTransformErrorExtended transformError(clhepSymMatrix, detid2);
354  alignmentErrors2->m_alignError.push_back(transformError);
355  }
356 
357  // to get the right order, sort by rawId
358  std::sort(alignments2->m_align.begin(), alignments2->m_align.end());
359  std::sort(alignmentErrors2->m_alignError.begin(), alignmentErrors2->m_alignError.end());
360  }
361 
362  //accessing the initial geometry
364  iSetup.get<IdealGeometryRecord>().get(cpv);
365  edm::ESHandle<GeometricDet> theGeometricDet;
366  iSetup.get<IdealGeometryRecord>().get(theGeometricDet);
368  iSetup.get<PTrackerParametersRcd>().get(ptp);
369  TrackerGeomBuilderFromGeometricDet trackerBuilder;
370 
371  //reference tracker
372  TrackerGeometry* theRefTracker = trackerBuilder.build(&*theGeometricDet, *ptp, tTopo);
373  if (_inputFilename1 != "IDEAL") {
374  GeometryAligner aligner1;
376  &(*theRefTracker), &(*alignments1), &(*alignmentErrors1), AlignTransform());
377  }
378  referenceTracker = new AlignableTracker(&(*theRefTracker), tTopo);
379  //referenceTracker->setSurfaceDeformation(surfDef1, true) ;
380 
381  int inputRawid1;
382  int inputRawid2;
383  int inputDtype1, inputDtype2;
384  std::vector<double> inputDpar1;
385  std::vector<double> inputDpar2;
386  std::vector<double>* p_inputDpar1 = &inputDpar1;
387  std::vector<double>* p_inputDpar2 = &inputDpar2;
388 
389  const auto& comp1 = referenceTracker->deepComponents();
390 
391  SurfaceDeformation* surfDef1;
392  if (_inputFilename1 != "IDEAL") {
393  TTree* _inputTree11 = (TTree*)_inputRootFile1->Get(_inputTreenameDeform.c_str());
394  _inputTree11->SetBranchAddress("irawid", &inputRawid1);
395  _inputTree11->SetBranchAddress("dtype", &inputDtype1);
396  _inputTree11->SetBranchAddress("dpar", &p_inputDpar1);
397 
398  unsigned int nEntries11 = _inputTree11->GetEntries();
399  edm::LogInfo("TrackerGeometryCompare") << " nentries11 = " << nEntries11;
400  for (unsigned int iEntry = 0; iEntry < nEntries11; ++iEntry) {
401  _inputTree11->GetEntry(iEntry);
402 
403  surfDef1 = SurfaceDeformationFactory::create(inputDtype1, inputDpar1);
404 
405  if (int(comp1[iEntry]->id()) == inputRawid1) {
406  comp1[iEntry]->setSurfaceDeformation(surfDef1, true);
407  }
408  }
409  }
410 
411  //currernt tracker
412  TrackerGeometry* theCurTracker = trackerBuilder.build(&*theGeometricDet, *ptp, tTopo);
413  if (_inputFilename2 != "IDEAL") {
414  GeometryAligner aligner2;
416  &(*theCurTracker), &(*alignments2), &(*alignmentErrors2), AlignTransform());
417  }
418  currentTracker = new AlignableTracker(&(*theCurTracker), tTopo);
419 
420  const auto& comp2 = currentTracker->deepComponents();
421 
422  SurfaceDeformation* surfDef2;
423  if (_inputFilename2 != "IDEAL") {
424  TTree* _inputTree12 = (TTree*)_inputRootFile2->Get(_inputTreenameDeform.c_str());
425  _inputTree12->SetBranchAddress("irawid", &inputRawid2);
426  _inputTree12->SetBranchAddress("dtype", &inputDtype2);
427  _inputTree12->SetBranchAddress("dpar", &p_inputDpar2);
428 
429  unsigned int nEntries12 = _inputTree12->GetEntries();
430  edm::LogInfo("TrackerGeometryCompare") << " nentries12 = " << nEntries12;
431  for (unsigned int iEntry = 0; iEntry < nEntries12; ++iEntry) {
432  _inputTree12->GetEntry(iEntry);
433 
434  surfDef2 = SurfaceDeformationFactory::create(inputDtype2, inputDpar2);
435 
436  if (int(comp2[iEntry]->id()) == inputRawid2) {
437  comp2[iEntry]->setSurfaceDeformation(surfDef2, true);
438  }
439  }
440  }
441 
442  delete alignments1;
443  delete alignmentErrors1;
444  delete alignments2;
445  delete alignmentErrors2;
446 }

References _inputFilename1, _inputFilename2, _inputRootFile1, _inputRootFile2, _inputTree01, _inputTree02, _inputTree11, _inputTree12, _inputTreenameAlign, _inputTreenameDeform, _moduleList, _moduleListFile, _moduleListName, GeometryAligner::applyAlignments(), TrackerGeomBuilderFromGeometricDet::build(), SurfaceDeformationFactory::create(), currentTracker, Alignable::deepComponents(), edm::EventSetup::get(), get, mps_fire::i, mps_splice::line, Alignments::m_align, AlignmentErrorsExtended::m_alignError, edm::ESHandle< T >::product(), referenceTracker, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by analyze().

◆ diffCommonTrackerSystem()

void TrackerGeometryCompare::diffCommonTrackerSystem ( Alignable refAli,
Alignable curAli 
)
private

Definition at line 756 of file TrackerGeometryCompare.cc.

756  {
757  const auto& refComp = refAli->components();
758  const auto& curComp = curAli->components();
759 
760  unsigned int nComp = refComp.size();
761  //only perform for designate levels
762  bool useLevel = false;
763  if (refAli->alignableObjectId() == _commonTrackerLevel)
764  useLevel = true;
765 
766  //useLevel = false;
767  if (useLevel) {
768  CLHEP::Hep3Vector Rtotal, Wtotal;
769  Rtotal.set(0., 0., 0.);
770  Wtotal.set(0., 0., 0.);
771 
773  CLHEP::Hep3Vector dR(diff[0], diff[1], diff[2]);
774  Rtotal += dR;
775  CLHEP::Hep3Vector dW(diff[3], diff[4], diff[5]);
776  CLHEP::HepRotation rot(Wtotal.unit(), Wtotal.mag());
777  CLHEP::HepRotation drot(dW.unit(), dW.mag());
778  rot *= drot;
779  Wtotal.set(rot.axis().x() * rot.delta(), rot.axis().y() * rot.delta(), rot.axis().z() * rot.delta());
780  /*
781  //std::cout << "a";
782  //if (refAli->alignableObjectId() == 1) std::cout << "DIFF: " << diff << std::endl;
783  align::moveAlignable(curAli, diff);
784  float tolerance = 1e-7;
785  AlgebraicVector check = align::diffAlignables(refAli,curAli, _weightBy, _weightById, _weightByIdVector);
786  align::GlobalVector checkR(check[0],check[1],check[2]);
787  align::GlobalVector checkW(check[3],check[4],check[5]);
788  DetId detid(refAli->id());
789  if ((checkR.mag() > tolerance)||(checkW.mag() > tolerance)){
790  edm::LogInfo("TrackerGeometryCompare") << "Tolerance Exceeded!(alObjId: " << refAli->alignableObjectId()
791  << ", rawId: " << refAli->geomDetId().rawId()
792  << ", subdetId: "<< detid.subdetId() << "): " << diff;
793  }
794  else{
795  break;
796  }
797  }
798  */
799 
800  //_TrackerCommonT.set(Rtotal.x(), Rtotal.y(), Rtotal.z());
801  _TrackerCommonT = align::GlobalVector(Rtotal.x(), Rtotal.y(), Rtotal.z());
802  _TrackerCommonR = align::GlobalVector(Wtotal.x(), Wtotal.y(), Wtotal.z());
803  _TrackerCommonCM = curAli->globalPosition();
804  //_TrackerCommonTR(1) = Rtotal.x(); _TrackerCommonTR(2) = Rtotal.y(); _TrackerCommonTR(3) = Rtotal.z();
805  //_TrackerCommonTR(4) = Wtotal.x(); _TrackerCommonTR(5) = Wtotal.y(); _TrackerCommonTR(6) = Wtotal.z();
806 
807  } else {
808  for (unsigned int i = 0; i < nComp; ++i)
809  diffCommonTrackerSystem(refComp[i], curComp[i]);
810  }
811 }

References _commonTrackerLevel, _TrackerCommonCM, _TrackerCommonR, _TrackerCommonT, _weightBy, _weightById, _weightByIdVector, Alignable::alignableObjectId(), Alignable::components(), change_name::diff, align::diffAlignables(), HGC3DClusterGenMatchSelector_cfi::dR, Alignable::globalPosition(), mps_fire::i, and makeMuonMisalignmentScenario::rot.

Referenced by setCommonTrackerSystem().

◆ endJob()

void TrackerGeometryCompare::endJob ( void  )
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 202 of file TrackerGeometryCompare.cc.

202  {
203  int iname(0);
204  for (std::vector<TrackerMap>::iterator it = m_vtkmap.begin(); it != m_vtkmap.end(); ++it) {
205  std::stringstream mapname;
206  mapname << "TkMap_SurfDeform" << iname << ".png";
207  it->save(true, 0, 0, mapname.str());
208  mapname.str(std::string());
209  mapname.clear();
210  mapname << "TkMap_SurfDeform" << iname << ".pdf";
211  it->save(true, 0, 0, mapname.str());
212  ++iname;
213  }
214 
215  _theFile->cd();
216  _alignTree->Write();
217  _theFile->Close();
218 }

References _alignTree, _theFile, m_vtkmap, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by o2olib.O2ORunMgr::executeJob().

◆ fillIdentifiers()

void TrackerGeometryCompare::fillIdentifiers ( int  subdetlevel,
int  rawid,
const TrackerTopology tTopo 
)
private

Definition at line 1018 of file TrackerGeometryCompare.cc.

1018  {
1019  switch (subdetlevel) {
1020  case 1: {
1021  _identifiers[0] = tTopo->pxbModule(rawid);
1022  _identifiers[1] = tTopo->pxbLadder(rawid);
1023  _identifiers[2] = tTopo->pxbLayer(rawid);
1024  _identifiers[3] = 999;
1025  _identifiers[4] = 999;
1026  _identifiers[5] = 999;
1027  break;
1028  }
1029  case 2: {
1030  _identifiers[0] = tTopo->pxfModule(rawid);
1031  _identifiers[1] = tTopo->pxfPanel(rawid);
1032  _identifiers[2] = tTopo->pxfBlade(rawid);
1033  _identifiers[3] = tTopo->pxfDisk(rawid);
1034  _identifiers[4] = tTopo->pxfSide(rawid);
1035  _identifiers[5] = 999;
1036  break;
1037  }
1038  case 3: {
1039  _identifiers[0] = tTopo->tibModule(rawid);
1040  _identifiers[1] = tTopo->tibStringInfo(rawid)[0];
1041  _identifiers[2] = tTopo->tibStringInfo(rawid)[1];
1042  _identifiers[3] = tTopo->tibStringInfo(rawid)[2];
1043  _identifiers[4] = tTopo->tibLayer(rawid);
1044  _identifiers[5] = 999;
1045  break;
1046  }
1047  case 4: {
1048  _identifiers[0] = tTopo->tidModuleInfo(rawid)[0];
1049  _identifiers[1] = tTopo->tidModuleInfo(rawid)[1];
1050  _identifiers[2] = tTopo->tidRing(rawid);
1051  _identifiers[3] = tTopo->tidWheel(rawid);
1052  _identifiers[4] = tTopo->tidSide(rawid);
1053  _identifiers[5] = 999;
1054  break;
1055  }
1056  case 5: {
1057  _identifiers[0] = tTopo->tobModule(rawid);
1058  _identifiers[1] = tTopo->tobRodInfo(rawid)[0];
1059  _identifiers[2] = tTopo->tobRodInfo(rawid)[1];
1060  _identifiers[3] = tTopo->tobLayer(rawid);
1061  _identifiers[4] = 999;
1062  _identifiers[5] = 999;
1063  break;
1064  }
1065  case 6: {
1066  _identifiers[0] = tTopo->tecModule(rawid);
1067  _identifiers[1] = tTopo->tecRing(rawid);
1068  _identifiers[2] = tTopo->tecPetalInfo(rawid)[0];
1069  _identifiers[3] = tTopo->tecPetalInfo(rawid)[1];
1070  _identifiers[4] = tTopo->tecWheel(rawid);
1071  _identifiers[5] = tTopo->tecSide(rawid);
1072  break;
1073  }
1074  default: {
1075  edm::LogInfo("TrackerGeometryCompare") << "Error: bad subdetid!!";
1076  break;
1077  }
1078  }
1079 }

References _identifiers, TrackerTopology::pxbLadder(), TrackerTopology::pxbLayer(), TrackerTopology::pxbModule(), TrackerTopology::pxfBlade(), TrackerTopology::pxfDisk(), TrackerTopology::pxfModule(), TrackerTopology::pxfPanel(), TrackerTopology::pxfSide(), TrackerTopology::tecModule(), TrackerTopology::tecPetalInfo(), TrackerTopology::tecRing(), TrackerTopology::tecSide(), TrackerTopology::tecWheel(), TrackerTopology::tibLayer(), TrackerTopology::tibModule(), TrackerTopology::tibStringInfo(), TrackerTopology::tidModuleInfo(), TrackerTopology::tidRing(), TrackerTopology::tidSide(), TrackerTopology::tidWheel(), TrackerTopology::tobLayer(), TrackerTopology::tobModule(), and TrackerTopology::tobRodInfo().

Referenced by fillTree().

◆ fillTree()

void TrackerGeometryCompare::fillTree ( Alignable refAli,
const AlgebraicVector diff,
const TrackerTopology tTopo,
const edm::EventSetup iSetup 
)
private

Definition at line 813 of file TrackerGeometryCompare.cc.

816  {
817  //Get bad modules
818  edm::ESHandle<SiPixelQuality> SiPixelModules;
819  iSetup.get<SiPixelQualityRcd>().get(SiPixelModules);
820  edm::ESHandle<SiStripQuality> SiStripModules;
821  iSetup.get<SiStripQualityRcd>().get(SiStripModules);
822 
823  _id = refAli->id();
824 
825  _badModuleQuality = 0;
826  //check if module has a bad quality tag
827  if (SiPixelModules->IsModuleBad(_id)) {
828  _badModuleQuality = 1;
829  }
830  if (SiStripModules->IsModuleBad(_id)) {
831  _badModuleQuality = 1;
832  }
833 
834  //check if module is in a given list of bad/untouched etc. modules
835  _inModuleList = 0;
836  for (unsigned int i = 0; i < _moduleList.size(); i++) {
837  if (_moduleList[i] == _id) {
838  _inModuleList = 1;
839  break;
840  }
841  }
842 
843  _level = refAli->alignableObjectId();
844  //need if ali has no mother
845  if (refAli->mother()) {
846  _mid = refAli->mother()->geomDetId().rawId();
847  _mlevel = refAli->mother()->alignableObjectId();
848  } else {
849  _mid = -1;
850  _mlevel = -1;
851  }
852  DetId detid(_id);
853  _sublevel = detid.subdetId();
854  fillIdentifiers(_sublevel, _id, tTopo);
855  _xVal = refAli->globalPosition().x();
856  _yVal = refAli->globalPosition().y();
857  _zVal = refAli->globalPosition().z();
859  _rVal = vec.perp();
860  _phiVal = vec.phi();
861  _etaVal = vec.eta();
863  align::EulerAngles eulerAngles = align::toAngles(rot);
864  _alphaVal = eulerAngles[0];
865  _betaVal = eulerAngles[1];
866  _gammaVal = eulerAngles[2];
867  // global
868  _dxVal = diff[0];
869  _dyVal = diff[1];
870  _dzVal = diff[2];
871  // local
872  _duVal = diff[6];
873  _dvVal = diff[7];
874  _dwVal = diff[8];
875  //...TODO...
877  //getting dR and dPhi
880  _drVal = vCur.perp() - vRef.perp();
881  _dphiVal = vCur.phi() - vRef.phi();
882  // global
883  _dalphaVal = diff[3];
884  _dbetaVal = diff[4];
885  _dgammaVal = diff[5];
886  // local
887  _daVal = diff[9];
888  _dbVal = diff[10];
889  _dgVal = diff[11];
890 
891  //detIdFlag
892  if (refAli->alignableObjectId() == align::AlignableDetUnit) {
893  if (_detIdFlag) {
894  if ((passIdCut(refAli->id())) || (passIdCut(refAli->mother()->id()))) {
895  _useDetId = 1;
896  } else {
897  _useDetId = 0;
898  }
899  }
900  }
901  // det module dimension
902  if (refAli->alignableObjectId() == align::AlignableDetUnit) {
903  if (refAli->mother()->alignableObjectId() != align::AlignableDet)
904  _detDim = 1;
905  else if (refAli->mother()->alignableObjectId() == align::AlignableDet)
906  _detDim = 2;
907  } else
908  _detDim = 0;
909 
910  _surWidth = refAli->surface().width();
911  _surLength = refAli->surface().length();
913  _surRot[0] = rt.xx();
914  _surRot[1] = rt.xy();
915  _surRot[2] = rt.xz();
916  _surRot[3] = rt.yx();
917  _surRot[4] = rt.yy();
918  _surRot[5] = rt.yz();
919  _surRot[6] = rt.zx();
920  _surRot[7] = rt.zy();
921  _surRot[8] = rt.zz();
922 
923  //Fill
924  _alignTree->Fill();
925 }

References _alignTree, _alphaVal, _badModuleQuality, _betaVal, _dalphaVal, _daVal, _dbetaVal, _dbVal, _detDim, _detIdFlag, _dgammaVal, _dgVal, _dphiVal, _drVal, _duVal, _dvVal, _dwVal, _dxVal, _dyVal, _dzVal, _etaVal, _gammaVal, _id, _inModuleList, _level, _mid, _mlevel, _moduleList, _phiVal, _rVal, _sublevel, _surLength, _surRot, _surWidth, _useDetId, _xVal, _yVal, _zVal, align::AlignableDet, align::AlignableDetUnit, Alignable::alignableObjectId(), change_name::diff, PV3DBase< T, PVType, FrameType >::eta(), fillIdentifiers(), g, Alignable::geomDetId(), edm::EventSetup::get(), get, Alignable::globalPosition(), Alignable::globalRotation(), mps_fire::i, Alignable::id(), SiPixelQuality::IsModuleBad(), SiStripQuality::IsModuleBad(), AlignableSurface::length(), Alignable::mother(), passIdCut(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), DetId::rawId(), makeMuonMisalignmentScenario::rot, hcal_runs::rt, DetId::subdetId(), Alignable::surface(), align::toAngles(), AlignableSurface::width(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by compareGeometries(), and core.AutoFillTreeProducer.AutoFillTreeProducer::process().

◆ passIdCut()

bool TrackerGeometryCompare::passIdCut ( uint32_t  id)
private

Definition at line 1006 of file TrackerGeometryCompare.cc.

1006  {
1007  bool pass = false;
1008  int nEntries = _detIdFlagVector.size();
1009 
1010  for (int i = 0; i < nEntries; i++) {
1011  if (_detIdFlagVector[i] == id)
1012  pass = true;
1013  }
1014 
1015  return pass;
1016 }

References _detIdFlagVector, and mps_fire::i.

Referenced by fillTree().

◆ setCommonTrackerSystem()

void TrackerGeometryCompare::setCommonTrackerSystem ( )
private

Definition at line 712 of file TrackerGeometryCompare.cc.

712  {
713  edm::LogInfo("TrackerGeometryCompare") << "Setting Common Tracker System....";
714 
715  // DM_534??AlignableObjectId dummy;
716  // DM_534??_commonTrackerLevel = dummy.nameToType(_setCommonTrackerSystem);
718 
720 
721  align::EulerAngles dOmega(3);
722  dOmega[0] = _TrackerCommonR.x();
723  dOmega[1] = _TrackerCommonR.y();
724  dOmega[2] = _TrackerCommonR.z();
727 
728  edm::LogInfo("TrackerGeometryCompare") << "what we get from overlaying the pixels..." << theR << ", " << rot;
729 
730  //transform to the Tracker System
732  align::GlobalVector cmDiff(
733  trackerCM.x() - _TrackerCommonCM.x(), trackerCM.y() - _TrackerCommonCM.y(), trackerCM.z() - _TrackerCommonCM.z());
734 
735  edm::LogInfo("TrackerGeometryCompare") << "Pixel CM: " << _TrackerCommonCM << ", tracker CM: " << trackerCM;
736 
737  //adjust translational difference factoring in different rotational CM
738  //needed because rotateInGlobalFrame is about CM of alignable, not Tracker
739  const align::GlobalVector::BasicVectorType& lpvgf = cmDiff.basicVector();
740  align::GlobalVector moveV(rot.multiplyInverse(lpvgf) - lpvgf);
741  align::GlobalVector theRprime(theR + moveV);
742 
743  AlgebraicVector TrackerCommonTR(6);
744  TrackerCommonTR(1) = theRprime.x();
745  TrackerCommonTR(2) = theRprime.y();
746  TrackerCommonTR(3) = theRprime.z();
747  TrackerCommonTR(4) = _TrackerCommonR.x();
748  TrackerCommonTR(5) = _TrackerCommonR.y();
749  TrackerCommonTR(6) = _TrackerCommonR.z();
750 
751  edm::LogInfo("TrackerGeometryCompare") << "and after the transformation: " << TrackerCommonTR;
752 
753  align::moveAlignable(currentTracker, TrackerCommonTR);
754 }

References _commonTrackerLevel, _setCommonTrackerSystem, _TrackerCommonCM, _TrackerCommonR, _TrackerCommonT, currentTracker, diffCommonTrackerSystem(), Alignable::globalPosition(), align::moveAlignable(), AlignableTracker::objectIdProvider(), referenceTracker, makeMuonMisalignmentScenario::rot, AlignableObjectId::stringToId(), align::toMatrix(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by analyze().

◆ surveyToTracker()

void TrackerGeometryCompare::surveyToTracker ( AlignableTracker ali,
Alignments alignVals,
AlignmentErrorsExtended alignErrors 
)
private

Definition at line 927 of file TrackerGeometryCompare.cc.

929  {
930  //getting the right alignables for the alignment record
931  auto detPB = ali->pixelHalfBarrelGeomDets();
932  auto detPEC = ali->pixelEndcapGeomDets();
933  auto detTIB = ali->innerBarrelGeomDets();
934  auto detTID = ali->TIDGeomDets();
935  auto detTOB = ali->outerBarrelGeomDets();
936  auto detTEC = ali->endcapGeomDets();
937 
938  align::Alignables allGeomDets;
939  std::copy(detPB.begin(), detPB.end(), std::back_inserter(allGeomDets));
940  std::copy(detPEC.begin(), detPEC.end(), std::back_inserter(allGeomDets));
941  std::copy(detTIB.begin(), detTIB.end(), std::back_inserter(allGeomDets));
942  std::copy(detTID.begin(), detTID.end(), std::back_inserter(allGeomDets));
943  std::copy(detTOB.begin(), detTOB.end(), std::back_inserter(allGeomDets));
944  std::copy(detTEC.begin(), detTEC.end(), std::back_inserter(allGeomDets));
945 
946  align::Alignables rcdAlis;
947  for (const auto& i : allGeomDets) {
948  if (i->components().size() == 1) {
949  rcdAlis.push_back(i);
950  } else if (i->components().size() > 1) {
951  rcdAlis.push_back(i);
952  const auto& comp = i->components();
953  for (const auto& j : comp)
954  rcdAlis.push_back(j);
955  }
956  }
957 
958  //turning them into alignments
959  for (const auto& k : rcdAlis) {
960  const SurveyDet* surveyInfo = k->survey();
961  const align::PositionType& pos(surveyInfo->position());
962  align::RotationType rot(surveyInfo->rotation());
963  CLHEP::Hep3Vector clhepVector(pos.x(), pos.y(), pos.z());
964  CLHEP::HepRotation clhepRotation(
965  CLHEP::HepRep3x3(rot.xx(), rot.xy(), rot.xz(), rot.yx(), rot.yy(), rot.yz(), rot.zx(), rot.zy(), rot.zz()));
966  AlignTransform transform(clhepVector, clhepRotation, k->id());
967  AlignTransformErrorExtended transformError(CLHEP::HepSymMatrix(3, 1), k->id());
968  alignVals->m_align.push_back(transform);
969  alignErrors->m_alignError.push_back(transformError);
970  }
971 
972  // to get the right order, sort by rawId
973  std::sort(alignVals->m_align.begin(), alignVals->m_align.end());
974  std::sort(alignErrors->m_alignError.begin(), alignErrors->m_alignError.end());
975 }

References AlCaHLTBitMon_QueryRunRegistry::comp, filterCSVwithJSON::copy, AlignableTracker::endcapGeomDets(), mps_fire::i, AlignableTracker::innerBarrelGeomDets(), dqmiolumiharvest::j, dqmdumpme::k, Alignments::m_align, AlignmentErrorsExtended::m_alignError, AlignableTracker::outerBarrelGeomDets(), AlignableTracker::pixelEndcapGeomDets(), AlignableTracker::pixelHalfBarrelGeomDets(), SurveyDet::position(), makeMuonMisalignmentScenario::rot, SurveyDet::rotation(), AlignableTracker::TIDGeomDets(), and HcalDetIdTransform::transform().

Member Data Documentation

◆ _alignTree

TTree* TrackerGeometryCompare::_alignTree
private

Definition at line 131 of file TrackerGeometryCompare.h.

Referenced by endJob(), fillTree(), and TrackerGeometryCompare().

◆ _alphaVal

float TrackerGeometryCompare::_alphaVal
private

Definition at line 141 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _badModuleQuality

int TrackerGeometryCompare::_badModuleQuality
private

Definition at line 140 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _betaVal

float TrackerGeometryCompare::_betaVal
private

Definition at line 141 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _commonTrackerLevel

align::StructureType TrackerGeometryCompare::_commonTrackerLevel
private

Definition at line 119 of file TrackerGeometryCompare.h.

Referenced by diffCommonTrackerSystem(), and setCommonTrackerSystem().

◆ _dalphaVal

float TrackerGeometryCompare::_dalphaVal
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _daVal

float TrackerGeometryCompare::_daVal
private

Definition at line 145 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _dbetaVal

float TrackerGeometryCompare::_dbetaVal
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _dbVal

float TrackerGeometryCompare::_dbVal
private

Definition at line 145 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _detDim

int TrackerGeometryCompare::_detDim
private

Definition at line 140 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _detIdFlag

bool TrackerGeometryCompare::_detIdFlag
private

Definition at line 112 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _detIdFlagFile

std::string TrackerGeometryCompare::_detIdFlagFile
private

Definition at line 113 of file TrackerGeometryCompare.h.

Referenced by TrackerGeometryCompare().

◆ _detIdFlagVector

std::vector<uint32_t> TrackerGeometryCompare::_detIdFlagVector
private

Definition at line 118 of file TrackerGeometryCompare.h.

Referenced by passIdCut(), and TrackerGeometryCompare().

◆ _dgammaVal

float TrackerGeometryCompare::_dgammaVal
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _dgVal

float TrackerGeometryCompare::_dgVal
private

Definition at line 145 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _dphiVal

float TrackerGeometryCompare::_dphiVal
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _drVal

float TrackerGeometryCompare::_drVal
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _duVal

float TrackerGeometryCompare::_duVal
private

Definition at line 145 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _dvVal

float TrackerGeometryCompare::_dvVal
private

Definition at line 145 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _dwVal

float TrackerGeometryCompare::_dwVal
private

Definition at line 145 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _dxVal

float TrackerGeometryCompare::_dxVal
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _dyVal

float TrackerGeometryCompare::_dyVal
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _dzVal

float TrackerGeometryCompare::_dzVal
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _etaVal

float TrackerGeometryCompare::_etaVal
private

Definition at line 141 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _filename

std::string TrackerGeometryCompare::_filename
private

Definition at line 129 of file TrackerGeometryCompare.h.

Referenced by TrackerGeometryCompare().

◆ _gammaVal

float TrackerGeometryCompare::_gammaVal
private

Definition at line 141 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _id

int TrackerGeometryCompare::_id
private

\ Tree variables

Definition at line 140 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _identifiers

uint32_t TrackerGeometryCompare::_identifiers[6]
private

Definition at line 147 of file TrackerGeometryCompare.h.

Referenced by fillIdentifiers(), and TrackerGeometryCompare().

◆ _inModuleList

int TrackerGeometryCompare::_inModuleList
private

Definition at line 140 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _inputFilename1

std::string TrackerGeometryCompare::_inputFilename1
private

◆ _inputFilename2

std::string TrackerGeometryCompare::_inputFilename2
private

◆ _inputRootFile1

TFile* TrackerGeometryCompare::_inputRootFile1
private

Definition at line 132 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and createROOTGeometry().

◆ _inputRootFile2

TFile* TrackerGeometryCompare::_inputRootFile2
private

Definition at line 133 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and createROOTGeometry().

◆ _inputTree01

TTree* TrackerGeometryCompare::_inputTree01
private

Definition at line 134 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry().

◆ _inputTree02

TTree* TrackerGeometryCompare::_inputTree02
private

Definition at line 135 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry().

◆ _inputTree11

TTree* TrackerGeometryCompare::_inputTree11
private

Definition at line 136 of file TrackerGeometryCompare.h.

Referenced by analyze(), and createROOTGeometry().

◆ _inputTree12

TTree* TrackerGeometryCompare::_inputTree12
private

Definition at line 137 of file TrackerGeometryCompare.h.

Referenced by analyze(), and createROOTGeometry().

◆ _inputTreenameAlign

std::string TrackerGeometryCompare::_inputTreenameAlign
private

Definition at line 107 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry(), and TrackerGeometryCompare().

◆ _inputTreenameDeform

std::string TrackerGeometryCompare::_inputTreenameDeform
private

◆ _level

int TrackerGeometryCompare::_level
private

Definition at line 140 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _levelStrings

const std::vector<std::string> TrackerGeometryCompare::_levelStrings
private

Definition at line 103 of file TrackerGeometryCompare.h.

Referenced by analyze().

◆ _mid

int TrackerGeometryCompare::_mid
private

Definition at line 140 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _mlevel

int TrackerGeometryCompare::_mlevel
private

Definition at line 140 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _moduleInList

int TrackerGeometryCompare::_moduleInList
private

Definition at line 126 of file TrackerGeometryCompare.h.

◆ _moduleList

std::vector<int> TrackerGeometryCompare::_moduleList
private

Definition at line 125 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry(), and fillTree().

◆ _moduleListFile

std::ifstream TrackerGeometryCompare::_moduleListFile
private

Definition at line 124 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry().

◆ _moduleListName

std::string TrackerGeometryCompare::_moduleListName
private

Definition at line 104 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry(), and TrackerGeometryCompare().

◆ _phiVal

float TrackerGeometryCompare::_phiVal
private

Definition at line 141 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _rVal

float TrackerGeometryCompare::_rVal
private

Definition at line 141 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _setCommonTrackerSystem

std::string TrackerGeometryCompare::_setCommonTrackerSystem
private

◆ _sublevel

int TrackerGeometryCompare::_sublevel
private

Definition at line 140 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _surfDeform

double TrackerGeometryCompare::_surfDeform[13]
private

Definition at line 150 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and TrackerGeometryCompare().

◆ _surLength

float TrackerGeometryCompare::_surLength
private

Definition at line 146 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _surRot

double TrackerGeometryCompare::_surRot[9]
private

Definition at line 148 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _surWidth

float TrackerGeometryCompare::_surWidth
private

Definition at line 146 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _theFile

TFile* TrackerGeometryCompare::_theFile
private

Definition at line 130 of file TrackerGeometryCompare.h.

Referenced by endJob(), and TrackerGeometryCompare().

◆ _TrackerCommonCM

align::PositionType TrackerGeometryCompare::_TrackerCommonCM
private

Definition at line 122 of file TrackerGeometryCompare.h.

Referenced by diffCommonTrackerSystem(), and setCommonTrackerSystem().

◆ _TrackerCommonR

align::GlobalVector TrackerGeometryCompare::_TrackerCommonR
private

Definition at line 121 of file TrackerGeometryCompare.h.

Referenced by diffCommonTrackerSystem(), and setCommonTrackerSystem().

◆ _TrackerCommonT

align::GlobalVector TrackerGeometryCompare::_TrackerCommonT
private

Definition at line 120 of file TrackerGeometryCompare.h.

Referenced by diffCommonTrackerSystem(), and setCommonTrackerSystem().

◆ _type

int TrackerGeometryCompare::_type
private

◆ _useDetId

int TrackerGeometryCompare::_useDetId
private

Definition at line 140 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _weightBy

std::string TrackerGeometryCompare::_weightBy
private

◆ _weightById

bool TrackerGeometryCompare::_weightById
private

◆ _weightByIdFile

std::string TrackerGeometryCompare::_weightByIdFile
private

Definition at line 115 of file TrackerGeometryCompare.h.

Referenced by TrackerGeometryCompare().

◆ _weightByIdVector

std::vector<unsigned int> TrackerGeometryCompare::_weightByIdVector
private

◆ _writeToDB

bool TrackerGeometryCompare::_writeToDB
private

Definition at line 109 of file TrackerGeometryCompare.h.

Referenced by analyze().

◆ _xVal

float TrackerGeometryCompare::_xVal
private

Definition at line 141 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _yVal

float TrackerGeometryCompare::_yVal
private

Definition at line 141 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ _zVal

float TrackerGeometryCompare::_zVal
private

Definition at line 141 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ currentTracker

AlignableTracker* TrackerGeometryCompare::currentTracker
private

Definition at line 96 of file TrackerGeometryCompare.h.

Referenced by analyze(), createROOTGeometry(), and setCommonTrackerSystem().

◆ dummyTracker

AlignableTracker* TrackerGeometryCompare::dummyTracker
private

Definition at line 95 of file TrackerGeometryCompare.h.

◆ firstEvent_

bool TrackerGeometryCompare::firstEvent_
private

Definition at line 156 of file TrackerGeometryCompare.h.

Referenced by analyze(), and beginJob().

◆ m_h1

std::map<std::string, TH1D*> TrackerGeometryCompare::m_h1
private

Definition at line 160 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and TrackerGeometryCompare().

◆ m_nBins

int TrackerGeometryCompare::m_nBins
private

Definition at line 152 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and TrackerGeometryCompare().

◆ m_rangeHigh

double TrackerGeometryCompare::m_rangeHigh
private

Definition at line 154 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and TrackerGeometryCompare().

◆ m_rangeLow

double TrackerGeometryCompare::m_rangeLow
private

Definition at line 153 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and TrackerGeometryCompare().

◆ m_theLevels

std::vector<align::StructureType> TrackerGeometryCompare::m_theLevels
private

Definition at line 65 of file TrackerGeometryCompare.h.

Referenced by analyze(), and compareGeometries().

◆ m_vtkmap

std::vector<TrackerMap> TrackerGeometryCompare::m_vtkmap
private

◆ referenceTracker

AlignableTracker* TrackerGeometryCompare::referenceTracker
private

Definition at line 94 of file TrackerGeometryCompare.h.

Referenced by analyze(), createROOTGeometry(), and setCommonTrackerSystem().

◆ theSurveyErrors

const SurveyErrors* TrackerGeometryCompare::theSurveyErrors
private

Definition at line 100 of file TrackerGeometryCompare.h.

Referenced by addSurveyInfo().

◆ theSurveyIndex

unsigned int TrackerGeometryCompare::theSurveyIndex
private

Definition at line 98 of file TrackerGeometryCompare.h.

Referenced by addSurveyInfo().

◆ theSurveyValues

const Alignments* TrackerGeometryCompare::theSurveyValues
private

Definition at line 99 of file TrackerGeometryCompare.h.

Referenced by addSurveyInfo().

Vector3DBase< Scalar, GlobalTag >
TrackerGeometryCompare::_detIdFlag
bool _detIdFlag
Definition: TrackerGeometryCompare.h:112
personalPlayback.level
level
Definition: personalPlayback.py:22
TrackerGeometryCompare::_inputTree02
TTree * _inputTree02
Definition: TrackerGeometryCompare.h:135
align::toAngles
EulerAngles toAngles(const RotationType &)
Convert rotation matrix to angles about x-, y-, z-axes (frame rotation).
Definition: Utilities.cc:8
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
change_name.diff
diff
Definition: change_name.py:13
TkRotation< Scalar >
AlignableTracker::outerBarrelGeomDets
Alignables & outerBarrelGeomDets()
Return outer barrel GeomDets.
Definition: AlignableTracker.h:57
SiPixelQuality::IsModuleBad
bool IsModuleBad(const uint32_t &detid) const
Definition: SiPixelQuality.cc:97
mps_fire.i
i
Definition: mps_fire.py:355
TrackerGeometryCompare::_betaVal
float _betaVal
Definition: TrackerGeometryCompare.h:141
TrackerGeometryCompare::_etaVal
float _etaVal
Definition: TrackerGeometryCompare.h:141
TrackerGeometryCompare::fillTree
void fillTree(Alignable *refAli, const AlgebraicVector &diff, const TrackerTopology *tTopo, const edm::EventSetup &iSetup)
Definition: TrackerGeometryCompare.cc:813
align
Definition: AlignableIndexer.h:30
TrackerGeometryCompare::setCommonTrackerSystem
void setCommonTrackerSystem()
Definition: TrackerGeometryCompare.cc:712
SiPixelQualityRcd
Definition: SiPixelQualityRcd.h:13
TrackerGeometryCompare::_xVal
float _xVal
Definition: TrackerGeometryCompare.h:141
cond::service::PoolDBOutputService::beginOfTime
cond::Time_t beginOfTime() const
Definition: PoolDBOutputService.cc:177
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
TrackerGeometryCompare::_dxVal
float _dxVal
Definition: TrackerGeometryCompare.h:143
TrackerTopology::pxfSide
unsigned int pxfSide(const DetId &id) const
Definition: TrackerTopology.h:192
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
TFileDirectory::make
T * make(const Args &... args) const
make new ROOT object
Definition: TFileDirectory.h:53
TrackerTopology
Definition: TrackerTopology.h:16
SiStripQuality::IsModuleBad
bool IsModuleBad(const uint32_t &detid) const
Definition: SiStripQuality.cc:604
TrackerGeometryCompare::m_rangeHigh
double m_rangeHigh
Definition: TrackerGeometryCompare.h:154
TrackerTopology::pxbLadder
unsigned int pxbLadder(const DetId &id) const
Definition: TrackerTopology.h:155
hcal_runs.rt
rt
Definition: hcal_runs.py:76
pos
Definition: PixelAliasList.h:18
edm::LogInfo
Definition: MessageLogger.h:254
TrackerGeometryCompare::_inputFilename1
std::string _inputFilename1
Definition: TrackerGeometryCompare.h:105
AlignableTracker::innerBarrelGeomDets
Alignables & innerBarrelGeomDets()
Return inner barrel GeomDets.
Definition: AlignableTracker.h:55
SurveyDet::position
const align::PositionType & position() const
Definition: SurveyDet.h:58
AlignableTracker::objectIdProvider
const AlignableObjectId & objectIdProvider() const
Return tracker alignable object ID provider derived from the tracker's geometry.
Definition: AlignableTracker.h:110
TrackerGeometryCompare::fillIdentifiers
void fillIdentifiers(int subdetlevel, int rawid, const TrackerTopology *tTopo)
Definition: TrackerGeometryCompare.cc:1018
align::moveAlignable
void moveAlignable(Alignable *ali, AlgebraicVector diff)
Moves the alignable by the AlgebraicVector.
Definition: AlignTools.cc:84
TrackerGeometryCompare::_useDetId
int _useDetId
Definition: TrackerGeometryCompare.h:140
TrackerGeometryCompare::_sublevel
int _sublevel
Definition: TrackerGeometryCompare.h:140
TrackerGeometryCompare::_dwVal
float _dwVal
Definition: TrackerGeometryCompare.h:145
TrackerGeomBuilderFromGeometricDet::build
TrackerGeometry * build(const GeometricDet *gd, const PTrackerParameters &ptp, const TrackerTopology *tTopo)
Definition: TrackerGeomBuilderFromGeometricDet.cc:43
TrackerGeometryCompare::currentTracker
AlignableTracker * currentTracker
Definition: TrackerGeometryCompare.h:96
TrackerGeometryCompare::_dphiVal
float _dphiVal
Definition: TrackerGeometryCompare.h:143
TrackerGeometryCompare::_levelStrings
const std::vector< std::string > _levelStrings
Definition: TrackerGeometryCompare.h:103
TFileDirectory
Definition: TFileDirectory.h:24
TrackerGeometryCompare::_TrackerCommonCM
align::PositionType _TrackerCommonCM
Definition: TrackerGeometryCompare.h:122
TrackerGeometryCompare::_mid
int _mid
Definition: TrackerGeometryCompare.h:140
TrackerGeometryCompare::_inModuleList
int _inModuleList
Definition: TrackerGeometryCompare.h:140
AlignableSurface::length
align::Scalar length() const
Definition: AlignableSurface.h:32
TrackerGeometryCompare::_drVal
float _drVal
Definition: TrackerGeometryCompare.h:143
TrackerGeometryCompare::_identifiers
uint32_t _identifiers[6]
Definition: TrackerGeometryCompare.h:147
relativeConstraints.error
error
Definition: relativeConstraints.py:53
edm::Service::isAvailable
bool isAvailable() const
Definition: Service.h:40
SurfaceDeformation
Definition: SurfaceDeformation.h:18
TrackerGeometryCompare::m_nBins
int m_nBins
Definition: TrackerGeometryCompare.h:152
AlCaHLTBitMon_QueryRunRegistry.comp
comp
Definition: AlCaHLTBitMon_QueryRunRegistry.py:249
TrackerGeometryCompare::_yVal
float _yVal
Definition: TrackerGeometryCompare.h:141
PTrackerParametersRcd
Definition: PTrackerParametersRcd.h:9
TrackerTopology::tidRing
unsigned int tidRing(const DetId &id) const
Definition: TrackerTopology.h:218
AlignableTracker::pixelHalfBarrelGeomDets
Alignables & pixelHalfBarrelGeomDets()
Return pixel barrel GeomDets.
Definition: AlignableTracker.h:59
TrackerGeometryCompare::theSurveyErrors
const SurveyErrors * theSurveyErrors
Definition: TrackerGeometryCompare.h:100
TrackerGeometryCompare::passIdCut
bool passIdCut(uint32_t)
Definition: TrackerGeometryCompare.cc:1006
TrackerTopology::tidWheel
unsigned int tidWheel(const DetId &id) const
Definition: TrackerTopology.h:201
TrackerTopology::pxbLayer
unsigned int pxbLayer(const DetId &id) const
Definition: TrackerTopology.h:144
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
TrackerTopology::pxfPanel
unsigned int pxfPanel(const DetId &id) const
Definition: TrackerTopology.h:450
AlignableTracker::endcapGeomDets
Alignables & endcapGeomDets()
Return endcap GeomDets.
Definition: AlignableTracker.h:61
SurveyDet
Definition: SurveyDet.h:15
DetId
Definition: DetId.h:17
TrackerGeometryCompare::_alignTree
TTree * _alignTree
Definition: TrackerGeometryCompare.h:131
TrackerTopology::tobRodInfo
std::vector< unsigned int > tobRodInfo(const DetId &id) const
Definition: TrackerTopology.h:226
TrackerGeometryCompare::_dyVal
float _dyVal
Definition: TrackerGeometryCompare.h:143
Alignable::setSurvey
void setSurvey(const SurveyDet *)
Set survey info.
Definition: Alignable.cc:266
TrackerTopology::tibStringInfo
std::vector< unsigned int > tibStringInfo(const DetId &id) const
Definition: TrackerTopology.h:421
RPCNoise_example.check
check
Definition: RPCNoise_example.py:71
TrackerTopology::tidModuleInfo
std::vector< unsigned int > tidModuleInfo(const DetId &id) const
Definition: TrackerTopology.h:434
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
TrackerGeometryCompare::_phiVal
float _phiVal
Definition: TrackerGeometryCompare.h:141
Abs
T Abs(T a)
Definition: MathUtil.h:49
AlgebraicVector
CLHEP::HepVector AlgebraicVector
Definition: AlgebraicObjects.h:13
TrackerGeometryCompare::_dgVal
float _dgVal
Definition: TrackerGeometryCompare.h:145
groupFilesInBlocks.fin
fin
Definition: groupFilesInBlocks.py:94
TrackerGeometryCompare::_weightByIdVector
std::vector< unsigned int > _weightByIdVector
Definition: TrackerGeometryCompare.h:116
AlignableTracker::alignmentErrors
AlignmentErrorsExtended * alignmentErrors() const override
Return alignment errors, sorted by DetId.
Definition: AlignableTracker.cc:59
Alignable::alignableObjectId
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
TrackerGeometryCompare::theSurveyIndex
unsigned int theSurveyIndex
Definition: TrackerGeometryCompare.h:98
TrackerGeometryCompare::referenceTracker
AlignableTracker * referenceTracker
Definition: TrackerGeometryCompare.h:94
TrackerGeometryCompare::m_h1
std::map< std::string, TH1D * > m_h1
Definition: TrackerGeometryCompare.h:160
SiStripQualityRcd
Definition: SiStripDependentRecords.h:56
TrackerGeometryCompare::compareSurfaceDeformations
void compareSurfaceDeformations(TTree *_inputTree11, TTree *_inputTree12)
Definition: TrackerGeometryCompare.cc:448
edm::ESHandle< TrackerTopology >
AlignableTracker
Definition: AlignableTracker.h:17
TrackerGeometryCompare::_inputTree12
TTree * _inputTree12
Definition: TrackerGeometryCompare.h:137
TrackerGeometryCompare::_filename
std::string _filename
Definition: TrackerGeometryCompare.h:129
HcalDetIdTransform::transform
unsigned transform(const HcalDetId &id, unsigned transformCode)
Definition: HcalDetIdTransform.cc:7
TrackerGeometryCompare::createROOTGeometry
void createROOTGeometry(const edm::EventSetup &iSetup)
Definition: TrackerGeometryCompare.cc:271
Alignable::surface
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
Definition: Alignable.h:132
dqmdumpme.k
k
Definition: dqmdumpme.py:60
TrackerGeometryCompare::_dvVal
float _dvVal
Definition: TrackerGeometryCompare.h:145
Point3DBase< Scalar, GlobalTag >
align::GlobalVector
Vector3DBase< Scalar, GlobalTag > GlobalVector
Definition: Definitions.h:31
TrackerGeometryCompare::compareGeometries
void compareGeometries(Alignable *refAli, Alignable *curAli, const TrackerTopology *tTopo, const edm::EventSetup &iSetup)
Definition: TrackerGeometryCompare.cc:600
TrackerGeometryCompare::_zVal
float _zVal
Definition: TrackerGeometryCompare.h:141
SurveyDet::rotation
const align::RotationType & rotation() const
Definition: SurveyDet.h:60
AlignTransform
Definition: AlignTransform.h:15
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TrackerGeometryCompare::_dbVal
float _dbVal
Definition: TrackerGeometryCompare.h:145
TrackerGeometryCompare::_badModuleQuality
int _badModuleQuality
Definition: TrackerGeometryCompare.h:140
TFileService::mkdir
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
Definition: TFileService.h:69
TrackerGeometryCompare::_mlevel
int _mlevel
Definition: TrackerGeometryCompare.h:140
TrackerGeometryCompare::addSurveyInfo
void addSurveyInfo(Alignable *ali)
Definition: TrackerGeometryCompare.cc:977
TrackerGeometryCompare::m_theLevels
std::vector< align::StructureType > m_theLevels
Definition: TrackerGeometryCompare.h:65
TrackerGeometryCompare::_type
int _type
Definition: TrackerGeometryCompare.h:149
align::AlignableDetUnit
Definition: StructureType.h:19
TrackerGeometryCompare::_writeToDB
bool _writeToDB
Definition: TrackerGeometryCompare.h:109
TrackerGeometryCompare::_inputRootFile1
TFile * _inputRootFile1
Definition: TrackerGeometryCompare.h:132
edm::LogError
Definition: MessageLogger.h:183
TrackerGeometryCompare::_TrackerCommonT
align::GlobalVector _TrackerCommonT
Definition: TrackerGeometryCompare.h:120
align::invalid
Definition: StructureType.h:18
dqmiodatasetharvest.ctr
ctr
Definition: dqmiodatasetharvest.py:191
TrackerGeometryCompare::_moduleListFile
std::ifstream _moduleListFile
Definition: TrackerGeometryCompare.h:124
Alignable::id
align::ID id() const
Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit).
Definition: Alignable.h:180
TrackerGeometryCompare::_detIdFlagFile
std::string _detIdFlagFile
Definition: TrackerGeometryCompare.h:113
TrackerGeometryCompare::_inputTree11
TTree * _inputTree11
Definition: TrackerGeometryCompare.h:136
TrackerGeometryCompare::_inputTreenameDeform
std::string _inputTreenameDeform
Definition: TrackerGeometryCompare.h:108
TrackerGeometryCompare::m_vtkmap
std::vector< TrackerMap > m_vtkmap
Definition: TrackerGeometryCompare.h:158
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
TrackerTopology::tibModule
unsigned int tibModule(const DetId &id) const
Definition: TrackerTopology.h:172
TrackerTopology::tidSide
unsigned int tidSide(const DetId &id) const
Definition: TrackerTopology.h:190
TrackerGeometryCompare::_surWidth
float _surWidth
Definition: TrackerGeometryCompare.h:146
edm::Service< TFileService >
createfilelist.int
int
Definition: createfilelist.py:10
TrackerGeometryCompare::_TrackerCommonR
align::GlobalVector _TrackerCommonR
Definition: TrackerGeometryCompare.h:121
TrackerTopology::tecRing
unsigned int tecRing(const DetId &id) const
ring id
Definition: TrackerTopology.h:217
TrackerTopology::pxfModule
unsigned int pxfModule(const DetId &id) const
Definition: TrackerTopology.h:163
TrackerGeometryCompare::_weightByIdFile
std::string _weightByIdFile
Definition: TrackerGeometryCompare.h:115
TrackerTopology::pxfDisk
unsigned int pxfDisk(const DetId &id) const
Definition: TrackerTopology.h:446
tolerance
const double tolerance
Definition: HGCalGeomParameters.cc:27
Alignable::geomDetId
const DetId & geomDetId() const
Definition: Alignable.h:177
TrackerGeometryCompare::_daVal
float _daVal
Definition: TrackerGeometryCompare.h:145
TrackerGeometryCompare::_surRot
double _surRot[9]
Definition: TrackerGeometryCompare.h:148
TrackerGeometryCompare::_alphaVal
float _alphaVal
Definition: TrackerGeometryCompare.h:141
TrackerGeometryCompare::m_rangeLow
double m_rangeLow
Definition: TrackerGeometryCompare.h:153
get
#define get
TrackerGeometryCompare::_inputFilename2
std::string _inputFilename2
Definition: TrackerGeometryCompare.h:106
align::EulerAngles
AlgebraicVector EulerAngles
Definition: Definitions.h:34
AlignmentErrorsExtended
Definition: AlignmentErrorsExtended.h:10
edm::ESTransientHandle
Definition: ESTransientHandle.h:41
TrackerGeometryCompare::diffCommonTrackerSystem
void diffCommonTrackerSystem(Alignable *refAli, Alignable *curAli)
Definition: TrackerGeometryCompare.cc:756
looper.cfg
cfg
Definition: looper.py:297
TrackerGeometryCompare::theSurveyValues
const Alignments * theSurveyValues
Definition: TrackerGeometryCompare.h:99
TrackerGeometryCompare::_theFile
TFile * _theFile
Definition: TrackerGeometryCompare.h:130
TrackerGeometryCompare::_dbetaVal
float _dbetaVal
Definition: TrackerGeometryCompare.h:143
TrackerGeometryCompare::_detDim
int _detDim
Definition: TrackerGeometryCompare.h:140
align::AlignableDet
Definition: StructureType.h:20
TrackerGeometryCompare::_moduleListName
std::string _moduleListName
Definition: TrackerGeometryCompare.h:104
TrackerGeometryCompare::dummyTracker
AlignableTracker * dummyTracker
Definition: TrackerGeometryCompare.h:95
align::Alignables
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
TrackerTopology::tobLayer
unsigned int tobLayer(const DetId &id) const
Definition: TrackerTopology.h:147
TrackerGeometryCompare::_rVal
float _rVal
Definition: TrackerGeometryCompare.h:141
TrackerGeometryCompare::_gammaVal
float _gammaVal
Definition: TrackerGeometryCompare.h:141
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
TrackerGeometryCompare::_dgammaVal
float _dgammaVal
Definition: TrackerGeometryCompare.h:143
TrackerTopology::tobModule
unsigned int tobModule(const DetId &id) const
Definition: TrackerTopology.h:166
AlignableTracker::alignments
Alignments * alignments() const override
Return alignments, sorted by DetId.
Definition: AlignableTracker.cc:42
TrackerTopology::pxbModule
unsigned int pxbModule(const DetId &id) const
Definition: TrackerTopology.h:160
TrackerGeometryCompare::_surLength
float _surLength
Definition: TrackerGeometryCompare.h:146
AlignableSurface
Definition: AlignableSurface.h:20
TrackerGeometryCompare::_id
int _id
Definition: TrackerGeometryCompare.h:140
TrackerGeometryCompare::_weightBy
std::string _weightBy
Definition: TrackerGeometryCompare.h:110
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
AlignableSurface::width
align::Scalar width() const
Definition: AlignableSurface.h:30
Alignable::deepComponents
const Alignables & deepComponents() const
Definition: Alignable.h:72
Exception
Definition: hltDiff.cc:246
cond::service::PoolDBOutputService::writeOne
Hash writeOne(const T *payload, Time_t time, const std::string &recordName)
Definition: PoolDBOutputService.h:56
TrackerGeometryCompare::_weightById
bool _weightById
Definition: TrackerGeometryCompare.h:114
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
AlignableObjectId::stringToId
align::StructureType stringToId(const char *) const
Definition: AlignableObjectId.cc:270
AlignTransformErrorExtended
Definition: AlignTransformErrorExtended.h:13
TrackerGeometryCompare::_surfDeform
double _surfDeform[13]
Definition: TrackerGeometryCompare.h:150
align::toMatrix
RotationType toMatrix(const EulerAngles &)
Convert rotation angles about x-, y-, z-axes to matrix.
Definition: Utilities.cc:34
AlignableTracker::TIDGeomDets
Alignables & TIDGeomDets()
Return TID GeomDets.
Definition: AlignableTracker.h:63
TrackerTopology::tecModule
unsigned int tecModule(const DetId &id) const
Definition: TrackerTopology.h:169
TrackerGeometryCompare::_inputRootFile2
TFile * _inputRootFile2
Definition: TrackerGeometryCompare.h:133
TrackerGeometryCompare::_duVal
float _duVal
Definition: TrackerGeometryCompare.h:145
SurveyError
Definition: SurveyError.h:23
TrackerGeomBuilderFromGeometricDet
Definition: TrackerGeomBuilderFromGeometricDet.h:17
Alignments::m_align
std::vector< AlignTransform > m_align
Definition: Alignments.h:19
AlignmentErrorsExtended::m_alignError
std::vector< AlignTransformErrorExtended > m_alignError
Definition: AlignmentErrorsExtended.h:19
align::diffAlignables
AlgebraicVector diffAlignables(Alignable *refAli, Alignable *curAli, const std::string &weightBy, bool weightById, const std::vector< unsigned int > &weightByIdVector)
Definition: AlignTools.cc:10
TrackerTopology::pxfBlade
unsigned int pxfBlade(const DetId &id) const
Definition: TrackerTopology.h:447
TrackerTopology::tecPetalInfo
std::vector< unsigned int > tecPetalInfo(const DetId &id) const
Definition: TrackerTopology.h:407
cms::Exception
Definition: Exception.h:70
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
TrackerGeometryCompare::_inputTree01
TTree * _inputTree01
Definition: TrackerGeometryCompare.h:134
HGC3DClusterGenMatchSelector_cfi.dR
dR
Definition: HGC3DClusterGenMatchSelector_cfi.py:7
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
Alignable::globalPosition
const PositionType & globalPosition() const
Return the global position of the object.
Definition: Alignable.h:135
TrackerGeometryCompare::firstEvent_
bool firstEvent_
Definition: TrackerGeometryCompare.h:156
SurveyErrors::m_surveyErrors
std::vector< SurveyError > m_surveyErrors
Definition: SurveyErrors.h:22
TrackerGeometryCompare::_dalphaVal
float _dalphaVal
Definition: TrackerGeometryCompare.h:143
mps_splice.line
line
Definition: mps_splice.py:76
Alignable::components
virtual const Alignables & components() const =0
Return vector of all direct components.
TrackerTopology::tecWheel
unsigned int tecWheel(const DetId &id) const
Definition: TrackerTopology.h:198
TrackerGeometryCompare::_setCommonTrackerSystem
std::string _setCommonTrackerSystem
Definition: TrackerGeometryCompare.h:111
TrackerGeometryCompare::_commonTrackerLevel
align::StructureType _commonTrackerLevel
Definition: TrackerGeometryCompare.h:119
TrackerGeometryCompare::_detIdFlagVector
std::vector< uint32_t > _detIdFlagVector
Definition: TrackerGeometryCompare.h:118
Alignments
Definition: Alignments.h:10
TrackerGeometryCompare::_level
int _level
Definition: TrackerGeometryCompare.h:140
cuy.ii
ii
Definition: cuy.py:590
TrackerGeometryCompare::_inputTreenameAlign
std::string _inputTreenameAlign
Definition: TrackerGeometryCompare.h:107
GeometryAligner::applyAlignments
void applyAlignments(C *geometry, const Alignments *alignments, const AlignmentErrorsExtended *alignmentErrors, const AlignTransform &globalCoordinates)
Definition: GeometryAligner.h:52
Basic3DVector< Scalar >
IdealGeometryRecord
Definition: IdealGeometryRecord.h:27
Alignable::globalRotation
const RotationType & globalRotation() const
Return the global orientation of the object.
Definition: Alignable.h:138
g
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
AlignableTracker::pixelEndcapGeomDets
Alignables & pixelEndcapGeomDets()
Return pixel endcap GeomDets.
Definition: AlignableTracker.h:65
GeometryAligner
Class to update a given geometry with a set of alignments.
Definition: GeometryAligner.h:33
TrackerGeometryCompare::_moduleList
std::vector< int > _moduleList
Definition: TrackerGeometryCompare.h:125
SurfaceDeformationFactory::create
SurfaceDeformation * create(int type, const std::vector< double > &params)
Definition: SurfaceDeformationFactory.cc:40
TrackerGeometryCompare::_dzVal
float _dzVal
Definition: TrackerGeometryCompare.h:143
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
TrackerTopology::tibLayer
unsigned int tibLayer(const DetId &id) const
Definition: TrackerTopology.h:150
Alignable::mother
Alignable * mother() const
Return pointer to container alignable (if any)
Definition: Alignable.h:91
TrackerGeometry
Definition: TrackerGeometry.h:14
TrackerTopology::tecSide
unsigned int tecSide(const DetId &id) const
Definition: TrackerTopology.h:184