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::one::EDAnalyzer<> edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Types

typedef AlignTransform SurveyValue
 
typedef Alignments SurveyValues
 
- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase 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::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::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_
 
const edm::ESGetToken< cms::DDCompactView, IdealGeometryRecordcpvTokenDD4Hep_
 
const edm::ESGetToken< DDCompactView, IdealGeometryRecordcpvTokenDDD_
 
AlignableTrackercurrentTracker
 
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_
 
AlignableTrackerdummyTracker
 
float duVal_
 
float dvVal_
 
float dwVal_
 
float dxVal_
 
float dyVal_
 
float dzVal_
 
float etaVal_
 
std::string filename_
 
bool firstEvent_
 
bool fromDD4hep_
 
float gammaVal_
 
const edm::ESGetToken< GeometricDet, IdealGeometryRecordgeomDetToken_
 
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_
 
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_
 
int mid_
 
int mlevel_
 
int moduleInList_
 
std::vector< int > moduleList_
 
std::ifstream moduleListFile_
 
std::string moduleListName_
 
float phiVal_
 
const edm::ESGetToken< SiPixelQuality, SiPixelQualityRcdpixQualityToken_
 
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcdptpToken_
 
AlignableTrackerreferenceTracker
 
float rVal_
 
std::string setCommonTrackerSystem_
 
const edm::ESGetToken< SiStripQuality, SiStripQualityRcdstripQualityToken_
 
int sublevel_
 
double surfDeform_ [13]
 
float surLength_
 
double surRot_ [9]
 
float surWidth_
 
TFile * theFile_
 
const SurveyErrorstheSurveyErrors
 
unsigned int theSurveyIndex
 
const AlignmentstheSurveyValues
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtopoToken_
 
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_
 

Additional Inherited Members

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

Detailed Description

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

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

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


Definition at line 42 of file TrackerGeometryCompare.h.

Member Typedef Documentation

◆ SurveyValue

Definition at line 44 of file TrackerGeometryCompare.h.

◆ SurveyValues

Definition at line 45 of file TrackerGeometryCompare.h.

Constructor & Destructor Documentation

◆ TrackerGeometryCompare()

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

Do nothing. Required by framework.

Definition at line 55 of file TrackerGeometryCompare.cc.

63  referenceTracker(nullptr),
64  dummyTracker(nullptr),
65  currentTracker(nullptr),
66  theSurveyIndex(0),
67  theSurveyValues(nullptr),
68  theSurveyErrors(nullptr),
69  levelStrings_(cfg.getUntrackedParameter<std::vector<std::string> >("levels")),
70  fromDD4hep_(cfg.getUntrackedParameter<bool>("fromDD4hep")),
71  writeToDB_(cfg.getUntrackedParameter<bool>("writeToDB")),
73  moduleListFile_(nullptr),
74  moduleList_(0),
75  inputRootFile1_(nullptr),
76  inputRootFile2_(nullptr),
77  inputTree01_(nullptr),
78  inputTree02_(nullptr),
79  inputTree11_(nullptr),
80  inputTree12_(nullptr),
81  m_nBins_(10000),
82  m_rangeLow_(-.1),
83  m_rangeHigh_(.1),
84  firstEvent_(true),
85  m_vtkmap_(13) {
86  moduleListName_ = cfg.getUntrackedParameter<std::string>("moduleList");
87 
88  //input is ROOT
89  inputFilename1_ = cfg.getUntrackedParameter<std::string>("inputROOTFile1");
90  inputFilename2_ = cfg.getUntrackedParameter<std::string>("inputROOTFile2");
91  inputTreenameAlign_ = cfg.getUntrackedParameter<std::string>("treeNameAlign");
92  inputTreenameDeform_ = cfg.getUntrackedParameter<std::string>("treeNameDeform");
93 
94  //output file
95  filename_ = cfg.getUntrackedParameter<std::string>("outputFile");
96 
97  weightBy_ = cfg.getUntrackedParameter<std::string>("weightBy");
98  setCommonTrackerSystem_ = cfg.getUntrackedParameter<std::string>("setCommonTrackerSystem");
99  detIdFlag_ = cfg.getUntrackedParameter<bool>("detIdFlag");
100  detIdFlagFile_ = cfg.getUntrackedParameter<std::string>("detIdFlagFile");
101  weightById_ = cfg.getUntrackedParameter<bool>("weightById");
102  weightByIdFile_ = cfg.getUntrackedParameter<std::string>("weightByIdFile");
103 
104  // if want to use, make id cut list
105  if (detIdFlag_) {
106  std::ifstream fin;
107  fin.open(detIdFlagFile_.c_str());
108 
109  while (!fin.eof() && fin.good()) {
110  uint32_t id;
111  fin >> id;
112  detIdFlagVector_.push_back(id);
113  }
114  fin.close();
115  }
116 
117  // turn weightByIdFile into weightByIdVector
118  if (weightById_) {
119  std::ifstream inFile;
120  inFile.open(weightByIdFile_.c_str());
121  int ctr = 0;
122  while (!inFile.eof()) {
123  ctr++;
124  unsigned int listId;
125  inFile >> listId;
126  inFile.ignore(256, '\n');
127 
128  weightByIdVector_.push_back(listId);
129  }
130  inFile.close();
131  }
132 
133  //root configuration
134  theFile_ = new TFile(filename_.c_str(), "RECREATE");
135  alignTree_ = new TTree("alignTree",
136  "alignTree"); //,"id:level:mid:mlevel:sublevel:x:y:z:r:phi:a:b:c:dx:dy:dz:dr:dphi:da:db:dc");
137  alignTree_->Branch("id", &id_, "id/I");
138  alignTree_->Branch("badModuleQuality", &badModuleQuality_, "badModuleQuality/I");
139  alignTree_->Branch("inModuleList", &inModuleList_, "inModuleList/I");
140  alignTree_->Branch("level", &level_, "level/I");
141  alignTree_->Branch("mid", &mid_, "mid/I");
142  alignTree_->Branch("mlevel", &mlevel_, "mlevel/I");
143  alignTree_->Branch("sublevel", &sublevel_, "sublevel/I");
144  alignTree_->Branch("x", &xVal_, "x/F");
145  alignTree_->Branch("y", &yVal_, "y/F");
146  alignTree_->Branch("z", &zVal_, "z/F");
147  alignTree_->Branch("r", &rVal_, "r/F");
148  alignTree_->Branch("phi", &phiVal_, "phi/F");
149  alignTree_->Branch("eta", &etaVal_, "eta/F");
150  alignTree_->Branch("alpha", &alphaVal_, "alpha/F");
151  alignTree_->Branch("beta", &betaVal_, "beta/F");
152  alignTree_->Branch("gamma", &gammaVal_, "gamma/F");
153  alignTree_->Branch("dx", &dxVal_, "dx/F");
154  alignTree_->Branch("dy", &dyVal_, "dy/F");
155  alignTree_->Branch("dz", &dzVal_, "dz/F");
156  alignTree_->Branch("dr", &drVal_, "dr/F");
157  alignTree_->Branch("dphi", &dphiVal_, "dphi/F");
158  alignTree_->Branch("dalpha", &dalphaVal_, "dalpha/F");
159  alignTree_->Branch("dbeta", &dbetaVal_, "dbeta/F");
160  alignTree_->Branch("dgamma", &dgammaVal_, "dgamma/F");
161  alignTree_->Branch("du", &duVal_, "du/F");
162  alignTree_->Branch("dv", &dvVal_, "dv/F");
163  alignTree_->Branch("dw", &dwVal_, "dw/F");
164  alignTree_->Branch("da", &daVal_, "da/F");
165  alignTree_->Branch("db", &dbVal_, "db/F");
166  alignTree_->Branch("dg", &dgVal_, "dg/F");
167  alignTree_->Branch("useDetId", &useDetId_, "useDetId/I");
168  alignTree_->Branch("detDim", &detDim_, "detDim/I");
169  alignTree_->Branch("surW", &surWidth_, "surW/F");
170  alignTree_->Branch("surL", &surLength_, "surL/F");
171  alignTree_->Branch("surRot", &surRot_, "surRot[9]/D");
172  alignTree_->Branch("identifiers", &identifiers_, "identifiers[6]/I");
173  alignTree_->Branch("type", &type_, "type/I");
174  alignTree_->Branch("surfDeform", &surfDeform_, "surfDeform[13]/D");
175 
176  for (std::vector<TrackerMap>::iterator it = m_vtkmap_.begin(); it != m_vtkmap_.end(); ++it) {
177  it->setPalette(1);
178  it->addPixel(true);
179  }
180 
182  TFileDirectory subDir_All = fs->mkdir("AllSubdetectors");
183  TFileDirectory subDir_PXB = fs->mkdir("PixelBarrel");
184  TFileDirectory subDir_PXF = fs->mkdir("PixelEndcap");
185  for (int ii = 0; ii < 13; ++ii) {
186  std::stringstream histname0;
187  histname0 << "SurfDeform_Par_" << ii;
188  m_h1_[histname0.str()] = subDir_All.make<TH1D>(
189  (histname0.str()).c_str(), (histname0.str()).c_str(), m_nBins_, m_rangeLow_, m_rangeHigh_);
190 
191  std::stringstream histname1;
192  histname1 << "SurfDeform_PixelBarrel_Par_" << ii;
193  m_h1_[histname1.str()] = subDir_PXB.make<TH1D>(
194  (histname1.str()).c_str(), (histname1.str()).c_str(), m_nBins_, m_rangeLow_, m_rangeHigh_);
195 
196  std::stringstream histname2;
197  histname2 << "SurfDeform_PixelEndcap_Par_" << ii;
198  m_h1_[histname2.str()] = subDir_PXF.make<TH1D>(
199  (histname2.str()).c_str(), (histname2.str()).c_str(), m_nBins_, m_rangeLow_, m_rangeHigh_);
200  }
201 }

References alignTree_, alphaVal_, badModuleQuality_, betaVal_, looper::cfg, dqmiodatasetharvest::ctr, dalphaVal_, daVal_, dbetaVal_, dbVal_, detDim_, detIdFlag_, detIdFlagFile_, detIdFlagVector_, dgammaVal_, dgVal_, dphiVal_, drVal_, duVal_, dvVal_, dwVal_, dxVal_, dyVal_, dzVal_, etaVal_, filename_, groupFilesInBlocks::fin, gammaVal_, triggerObjects_cff::id, id_, identifiers_, cuy::ii, inModuleList_, inputFilename1_, inputFilename2_, inputTreenameAlign_, inputTreenameDeform_, level_, m_h1_, m_nBins_, m_rangeHigh_, m_rangeLow_, m_vtkmap_, TFileDirectory::make(), mid_, TFileService::mkdir(), mlevel_, moduleListName_, phiVal_, rVal_, setCommonTrackerSystem_, AlCaHLTBitMon_QueryRunRegistry::string, sublevel_, surfDeform_, surLength_, surRot_, surWidth_, theFile_, type_, useDetId_, weightBy_, weightById_, weightByIdFile_, weightByIdVector_, xVal_, yVal_, and zVal_.

Member Function Documentation

◆ addSurveyInfo()

void TrackerGeometryCompare::addSurveyInfo ( Alignable ali)
private

Definition at line 954 of file TrackerGeometryCompare.cc.

954  {
955  const auto& comp = ali->components();
956 
957  unsigned int nComp = comp.size();
958 
959  for (unsigned int i = 0; i < nComp; ++i)
960  addSurveyInfo(comp[i]);
961 
963 
964  if (ali->geomDetId().rawId() != error.rawId() || ali->alignableObjectId() != error.structureType()) {
965  throw cms::Exception("DatabaseError") << "Error reading survey info from DB. Mismatched id!";
966  }
967 
968  const CLHEP::Hep3Vector& pos = theSurveyValues->m_align[theSurveyIndex].translation();
969  const CLHEP::HepRotation& rot = theSurveyValues->m_align[theSurveyIndex].rotation();
970 
971  AlignableSurface surf(
972  align::PositionType(pos.x(), pos.y(), pos.z()),
973  align::RotationType(rot.xx(), rot.xy(), rot.xz(), rot.yx(), rot.yy(), rot.yz(), rot.zx(), rot.zy(), rot.zz()));
974 
975  surf.setWidth(ali->surface().width());
976  surf.setLength(ali->surface().length());
977 
978  ali->setSurvey(new SurveyDet(surf, error.matrix()));
979 
980  ++theSurveyIndex;
981 }

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::one::EDAnalyzerBase.

Definition at line 223 of file TrackerGeometryCompare.cc.

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

References AlignableTracker::alignmentErrors(), AlignableTracker::alignments(), cond::service::PoolDBOutputService::beginOfTime(), compareGeometries(), compareSurfaceDeformations(), createROOTGeometry(), currentTracker, firstEvent_, edm::EventSetup::getData(), inputTree11_, inputTree12_, edm::Service< T >::isAvailable(), personalPlayback::level, levelStrings_, m_theLevels, AlignableTracker::objectIdProvider(), referenceTracker, setCommonTrackerSystem(), setCommonTrackerSystem_, AlignableObjectId::stringToId(), topoToken_, cond::service::PoolDBOutputService::writeOne(), and writeToDB_.

◆ beginJob()

void TrackerGeometryCompare::beginJob ( void  )
overridevirtual

Read from DB and print survey info.

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 203 of file TrackerGeometryCompare.cc.

203 { firstEvent_ = true; }

References firstEvent_.

◆ compareGeometries()

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

Definition at line 601 of file TrackerGeometryCompare.cc.

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

References 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, tolerance, weightBy_, weightById_, and weightByIdVector_.

Referenced by analyze().

◆ compareSurfaceDeformations()

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

Definition at line 449 of file TrackerGeometryCompare.cc.

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

References Abs(), cuy::ii, inputFilename1_, inputFilename2_, inputRootFile1_, inputRootFile2_, inputTreenameDeform_, createfilelist::int, m_h1_, m_nBins_, m_rangeHigh_, m_rangeLow_, m_vtkmap_, and surfDeform_.

Referenced by analyze().

◆ createROOTGeometry()

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

Definition at line 272 of file TrackerGeometryCompare.cc.

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

References GeometryAligner::applyAlignments(), TrackerGeomBuilderFromGeometricDet::build(), cpvTokenDD4Hep_, cpvTokenDDD_, SurfaceDeformationFactory::create(), currentTracker, Alignable::deepComponents(), fromDD4hep_, geomDetToken_, edm::EventSetup::getData(), edm::EventSetup::getTransientHandle(), mps_fire::i, inputFilename1_, inputFilename2_, inputRootFile1_, inputRootFile2_, inputTree01_, inputTree02_, inputTree11_, inputTree12_, inputTreenameAlign_, inputTreenameDeform_, mps_splice::line, Alignments::m_align, AlignmentErrorsExtended::m_alignError, moduleList_, moduleListFile_, moduleListName_, ptpToken_, referenceTracker, AlCaHLTBitMon_QueryRunRegistry::string, and topoToken_.

Referenced by analyze().

◆ diffCommonTrackerSystem()

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

Definition at line 757 of file TrackerGeometryCompare.cc.

757  {
758  const auto& refComp = refAli->components();
759  const auto& curComp = curAli->components();
760 
761  unsigned int nComp = refComp.size();
762  //only perform for designate levels
763  bool useLevel = false;
764  if (refAli->alignableObjectId() == commonTrackerLevel_)
765  useLevel = true;
766 
767  //useLevel = false;
768  if (useLevel) {
769  CLHEP::Hep3Vector Rtotal, Wtotal;
770  Rtotal.set(0., 0., 0.);
771  Wtotal.set(0., 0., 0.);
772 
774  CLHEP::Hep3Vector dR(diff[0], diff[1], diff[2]);
775  Rtotal += dR;
776  CLHEP::Hep3Vector dW(diff[3], diff[4], diff[5]);
777  CLHEP::HepRotation rot(Wtotal.unit(), Wtotal.mag());
778  CLHEP::HepRotation drot(dW.unit(), dW.mag());
779  rot *= drot;
780  Wtotal.set(rot.axis().x() * rot.delta(), rot.axis().y() * rot.delta(), rot.axis().z() * rot.delta());
781 
782  TrackerCommonT_ = align::GlobalVector(Rtotal.x(), Rtotal.y(), Rtotal.z());
783  TrackerCommonR_ = align::GlobalVector(Wtotal.x(), Wtotal.y(), Wtotal.z());
784  TrackerCommonCM_ = curAli->globalPosition();
785 
786  } else {
787  for (unsigned int i = 0; i < nComp; ++i)
788  diffCommonTrackerSystem(refComp[i], curComp[i]);
789  }
790 }

References Alignable::alignableObjectId(), commonTrackerLevel_, Alignable::components(), change_name::diff, align::diffAlignables(), HGC3DClusterGenMatchSelector_cfi::dR, Alignable::globalPosition(), mps_fire::i, makeMuonMisalignmentScenario::rot, TrackerCommonCM_, TrackerCommonR_, TrackerCommonT_, weightBy_, weightById_, and weightByIdVector_.

Referenced by setCommonTrackerSystem().

◆ endJob()

void TrackerGeometryCompare::endJob ( void  )
overridevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 205 of file TrackerGeometryCompare.cc.

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

References alignTree_, m_vtkmap_, AlCaHLTBitMon_QueryRunRegistry::string, and theFile_.

Referenced by o2olib.O2ORunMgr::executeJob().

◆ fillIdentifiers()

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

Definition at line 995 of file TrackerGeometryCompare.cc.

995  {
996  switch (subdetlevel) {
997  case 1: {
998  identifiers_[0] = tTopo->pxbModule(rawid);
999  identifiers_[1] = tTopo->pxbLadder(rawid);
1000  identifiers_[2] = tTopo->pxbLayer(rawid);
1001  identifiers_[3] = 999;
1002  identifiers_[4] = 999;
1003  identifiers_[5] = 999;
1004  break;
1005  }
1006  case 2: {
1007  identifiers_[0] = tTopo->pxfModule(rawid);
1008  identifiers_[1] = tTopo->pxfPanel(rawid);
1009  identifiers_[2] = tTopo->pxfBlade(rawid);
1010  identifiers_[3] = tTopo->pxfDisk(rawid);
1011  identifiers_[4] = tTopo->pxfSide(rawid);
1012  identifiers_[5] = 999;
1013  break;
1014  }
1015  case 3: {
1016  identifiers_[0] = tTopo->tibModule(rawid);
1017  identifiers_[1] = tTopo->tibStringInfo(rawid)[0];
1018  identifiers_[2] = tTopo->tibStringInfo(rawid)[1];
1019  identifiers_[3] = tTopo->tibStringInfo(rawid)[2];
1020  identifiers_[4] = tTopo->tibLayer(rawid);
1021  identifiers_[5] = 999;
1022  break;
1023  }
1024  case 4: {
1025  identifiers_[0] = tTopo->tidModuleInfo(rawid)[0];
1026  identifiers_[1] = tTopo->tidModuleInfo(rawid)[1];
1027  identifiers_[2] = tTopo->tidRing(rawid);
1028  identifiers_[3] = tTopo->tidWheel(rawid);
1029  identifiers_[4] = tTopo->tidSide(rawid);
1030  identifiers_[5] = 999;
1031  break;
1032  }
1033  case 5: {
1034  identifiers_[0] = tTopo->tobModule(rawid);
1035  identifiers_[1] = tTopo->tobRodInfo(rawid)[0];
1036  identifiers_[2] = tTopo->tobRodInfo(rawid)[1];
1037  identifiers_[3] = tTopo->tobLayer(rawid);
1038  identifiers_[4] = 999;
1039  identifiers_[5] = 999;
1040  break;
1041  }
1042  case 6: {
1043  identifiers_[0] = tTopo->tecModule(rawid);
1044  identifiers_[1] = tTopo->tecRing(rawid);
1045  identifiers_[2] = tTopo->tecPetalInfo(rawid)[0];
1046  identifiers_[3] = tTopo->tecPetalInfo(rawid)[1];
1047  identifiers_[4] = tTopo->tecWheel(rawid);
1048  identifiers_[5] = tTopo->tecSide(rawid);
1049  break;
1050  }
1051  default: {
1052  edm::LogInfo("TrackerGeometryCompare") << "Error: bad subdetid!!";
1053  break;
1054  }
1055  }
1056 }

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 792 of file TrackerGeometryCompare.cc.

795  {
796  //Get bad modules
797  const SiPixelQuality* SiPixelModules = &iSetup.getData(pixQualityToken_);
798  const SiStripQuality* SiStripModules = &iSetup.getData(stripQualityToken_);
799 
800  id_ = refAli->id();
801 
802  badModuleQuality_ = 0;
803  //check if module has a bad quality tag
804  if (SiPixelModules->IsModuleBad(id_)) {
805  badModuleQuality_ = 1;
806  }
807  if (SiStripModules->IsModuleBad(id_)) {
808  badModuleQuality_ = 1;
809  }
810 
811  //check if module is in a given list of bad/untouched etc. modules
812  inModuleList_ = 0;
813  for (unsigned int i = 0; i < moduleList_.size(); i++) {
814  if (moduleList_[i] == id_) {
815  inModuleList_ = 1;
816  break;
817  }
818  }
819 
820  level_ = refAli->alignableObjectId();
821  //need if ali has no mother
822  if (refAli->mother()) {
823  mid_ = refAli->mother()->geomDetId().rawId();
824  mlevel_ = refAli->mother()->alignableObjectId();
825  } else {
826  mid_ = -1;
827  mlevel_ = -1;
828  }
829  DetId detid(id_);
830  sublevel_ = detid.subdetId();
831  fillIdentifiers(sublevel_, id_, tTopo);
832  xVal_ = refAli->globalPosition().x();
833  yVal_ = refAli->globalPosition().y();
834  zVal_ = refAli->globalPosition().z();
836  rVal_ = vec.perp();
837  phiVal_ = vec.phi();
838  etaVal_ = vec.eta();
840  align::EulerAngles eulerAngles = align::toAngles(rot);
841  alphaVal_ = eulerAngles[0];
842  betaVal_ = eulerAngles[1];
843  gammaVal_ = eulerAngles[2];
844  // global
845  dxVal_ = diff[0];
846  dyVal_ = diff[1];
847  dzVal_ = diff[2];
848  // local
849  duVal_ = diff[6];
850  dvVal_ = diff[7];
851  dwVal_ = diff[8];
852  //...TODO...
854  //getting dR and dPhi
857  drVal_ = vCur.perp() - vRef.perp();
858  dphiVal_ = vCur.phi() - vRef.phi();
859  // global
860  dalphaVal_ = diff[3];
861  dbetaVal_ = diff[4];
862  dgammaVal_ = diff[5];
863  // local
864  daVal_ = diff[9];
865  dbVal_ = diff[10];
866  dgVal_ = diff[11];
867 
868  //detIdFlag
869  if (refAli->alignableObjectId() == align::AlignableDetUnit) {
870  if (detIdFlag_) {
871  if ((passIdCut(refAli->id())) || (passIdCut(refAli->mother()->id()))) {
872  useDetId_ = 1;
873  } else {
874  useDetId_ = 0;
875  }
876  }
877  }
878  // det module dimension
879  if (refAli->alignableObjectId() == align::AlignableDetUnit) {
880  if (refAli->mother()->alignableObjectId() != align::AlignableDet)
881  detDim_ = 1;
882  else if (refAli->mother()->alignableObjectId() == align::AlignableDet)
883  detDim_ = 2;
884  } else
885  detDim_ = 0;
886 
887  surWidth_ = refAli->surface().width();
888  surLength_ = refAli->surface().length();
890  surRot_[0] = rt.xx();
891  surRot_[1] = rt.xy();
892  surRot_[2] = rt.xz();
893  surRot_[3] = rt.yx();
894  surRot_[4] = rt.yy();
895  surRot_[5] = rt.yz();
896  surRot_[6] = rt.zx();
897  surRot_[7] = rt.zy();
898  surRot_[8] = rt.zz();
899 
900  //Fill
901  alignTree_->Fill();
902 }

References align::AlignableDet, align::AlignableDetUnit, Alignable::alignableObjectId(), alignTree_, alphaVal_, badModuleQuality_, betaVal_, dalphaVal_, daVal_, dbetaVal_, dbVal_, detDim_, detIdFlag_, dgammaVal_, dgVal_, change_name::diff, dphiVal_, drVal_, duVal_, dvVal_, dwVal_, dxVal_, dyVal_, dzVal_, PV3DBase< T, PVType, FrameType >::eta(), etaVal_, fillIdentifiers(), g, gammaVal_, Alignable::geomDetId(), edm::EventSetup::getData(), Alignable::globalPosition(), Alignable::globalRotation(), mps_fire::i, Alignable::id(), id_, inModuleList_, SiPixelQuality::IsModuleBad(), SiStripQuality::IsModuleBad(), AlignableSurface::length(), level_, mid_, mlevel_, moduleList_, Alignable::mother(), passIdCut(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), phiVal_, pixQualityToken_, DetId::rawId(), makeMuonMisalignmentScenario::rot, hcal_runs::rt, rVal_, stripQualityToken_, DetId::subdetId(), sublevel_, Alignable::surface(), surLength_, surRot_, surWidth_, align::toAngles(), useDetId_, AlignableSurface::width(), PV3DBase< T, PVType, FrameType >::x(), xVal_, PV3DBase< T, PVType, FrameType >::y(), yVal_, PV3DBase< T, PVType, FrameType >::z(), and zVal_.

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

◆ passIdCut()

bool TrackerGeometryCompare::passIdCut ( uint32_t  id)
private

Definition at line 983 of file TrackerGeometryCompare.cc.

983  {
984  bool pass = false;
985  int nEntries = detIdFlagVector_.size();
986 
987  for (int i = 0; i < nEntries; i++) {
988  if (detIdFlagVector_[i] == id)
989  pass = true;
990  }
991 
992  return pass;
993 }

References detIdFlagVector_, and mps_fire::i.

Referenced by fillTree().

◆ setCommonTrackerSystem()

void TrackerGeometryCompare::setCommonTrackerSystem ( )
private

Definition at line 713 of file TrackerGeometryCompare.cc.

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

References commonTrackerLevel_, currentTracker, diffCommonTrackerSystem(), Alignable::globalPosition(), align::moveAlignable(), AlignableTracker::objectIdProvider(), referenceTracker, makeMuonMisalignmentScenario::rot, setCommonTrackerSystem_, AlignableObjectId::stringToId(), align::toMatrix(), TrackerCommonCM_, TrackerCommonR_, TrackerCommonT_, 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 904 of file TrackerGeometryCompare.cc.

906  {
907  //getting the right alignables for the alignment record
908  auto detPB = ali->pixelHalfBarrelGeomDets();
909  auto detPEC = ali->pixelEndcapGeomDets();
910  auto detTIB = ali->innerBarrelGeomDets();
911  auto detTID = ali->TIDGeomDets();
912  auto detTOB = ali->outerBarrelGeomDets();
913  auto detTEC = ali->endcapGeomDets();
914 
915  align::Alignables allGeomDets;
916  std::copy(detPB.begin(), detPB.end(), std::back_inserter(allGeomDets));
917  std::copy(detPEC.begin(), detPEC.end(), std::back_inserter(allGeomDets));
918  std::copy(detTIB.begin(), detTIB.end(), std::back_inserter(allGeomDets));
919  std::copy(detTID.begin(), detTID.end(), std::back_inserter(allGeomDets));
920  std::copy(detTOB.begin(), detTOB.end(), std::back_inserter(allGeomDets));
921  std::copy(detTEC.begin(), detTEC.end(), std::back_inserter(allGeomDets));
922 
923  align::Alignables rcdAlis;
924  for (const auto& i : allGeomDets) {
925  if (i->components().size() == 1) {
926  rcdAlis.push_back(i);
927  } else if (i->components().size() > 1) {
928  rcdAlis.push_back(i);
929  const auto& comp = i->components();
930  for (const auto& j : comp)
931  rcdAlis.push_back(j);
932  }
933  }
934 
935  //turning them into alignments
936  for (const auto& k : rcdAlis) {
937  const SurveyDet* surveyInfo = k->survey();
938  const align::PositionType& pos(surveyInfo->position());
939  align::RotationType rot(surveyInfo->rotation());
940  CLHEP::Hep3Vector clhepVector(pos.x(), pos.y(), pos.z());
941  CLHEP::HepRotation clhepRotation(
942  CLHEP::HepRep3x3(rot.xx(), rot.xy(), rot.xz(), rot.yx(), rot.yy(), rot.yz(), rot.zx(), rot.zy(), rot.zz()));
943  AlignTransform transform(clhepVector, clhepRotation, k->id());
944  AlignTransformErrorExtended transformError(CLHEP::HepSymMatrix(3, 1), k->id());
945  alignVals->m_align.push_back(transform);
946  alignErrors->m_alignError.push_back(transformError);
947  }
948 
949  // to get the right order, sort by rawId
950  std::sort(alignVals->m_align.begin(), alignVals->m_align.end());
951  std::sort(alignErrors->m_alignError.begin(), alignErrors->m_alignError.end());
952 }

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 134 of file TrackerGeometryCompare.h.

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

◆ alphaVal_

float TrackerGeometryCompare::alphaVal_
private

Definition at line 144 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ badModuleQuality_

int TrackerGeometryCompare::badModuleQuality_
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ betaVal_

float TrackerGeometryCompare::betaVal_
private

Definition at line 144 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ commonTrackerLevel_

align::StructureType TrackerGeometryCompare::commonTrackerLevel_
private

Definition at line 122 of file TrackerGeometryCompare.h.

Referenced by diffCommonTrackerSystem(), and setCommonTrackerSystem().

◆ cpvTokenDD4Hep_

const edm::ESGetToken<cms::DDCompactView, IdealGeometryRecord> TrackerGeometryCompare::cpvTokenDD4Hep_
private

Definition at line 89 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry().

◆ cpvTokenDDD_

const edm::ESGetToken<DDCompactView, IdealGeometryRecord> TrackerGeometryCompare::cpvTokenDDD_
private

Definition at line 88 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry().

◆ currentTracker

AlignableTracker* TrackerGeometryCompare::currentTracker
private

Definition at line 98 of file TrackerGeometryCompare.h.

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

◆ dalphaVal_

float TrackerGeometryCompare::dalphaVal_
private

Definition at line 146 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ daVal_

float TrackerGeometryCompare::daVal_
private

Definition at line 148 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ dbetaVal_

float TrackerGeometryCompare::dbetaVal_
private

Definition at line 146 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ dbVal_

float TrackerGeometryCompare::dbVal_
private

Definition at line 148 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ detDim_

int TrackerGeometryCompare::detDim_
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ detIdFlag_

bool TrackerGeometryCompare::detIdFlag_
private

Definition at line 115 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ detIdFlagFile_

std::string TrackerGeometryCompare::detIdFlagFile_
private

Definition at line 116 of file TrackerGeometryCompare.h.

Referenced by TrackerGeometryCompare().

◆ detIdFlagVector_

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

Definition at line 121 of file TrackerGeometryCompare.h.

Referenced by passIdCut(), and TrackerGeometryCompare().

◆ dgammaVal_

float TrackerGeometryCompare::dgammaVal_
private

Definition at line 146 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ dgVal_

float TrackerGeometryCompare::dgVal_
private

Definition at line 148 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ dphiVal_

float TrackerGeometryCompare::dphiVal_
private

Definition at line 146 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ drVal_

float TrackerGeometryCompare::drVal_
private

Definition at line 146 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ dummyTracker

AlignableTracker* TrackerGeometryCompare::dummyTracker
private

Definition at line 97 of file TrackerGeometryCompare.h.

◆ duVal_

float TrackerGeometryCompare::duVal_
private

Definition at line 148 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ dvVal_

float TrackerGeometryCompare::dvVal_
private

Definition at line 148 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ dwVal_

float TrackerGeometryCompare::dwVal_
private

Definition at line 148 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ dxVal_

float TrackerGeometryCompare::dxVal_
private

Definition at line 146 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ dyVal_

float TrackerGeometryCompare::dyVal_
private

Definition at line 146 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ dzVal_

float TrackerGeometryCompare::dzVal_
private

Definition at line 146 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ etaVal_

float TrackerGeometryCompare::etaVal_
private

Definition at line 144 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ filename_

std::string TrackerGeometryCompare::filename_
private

Definition at line 132 of file TrackerGeometryCompare.h.

Referenced by TrackerGeometryCompare().

◆ firstEvent_

bool TrackerGeometryCompare::firstEvent_
private

Definition at line 159 of file TrackerGeometryCompare.h.

Referenced by analyze(), and beginJob().

◆ fromDD4hep_

bool TrackerGeometryCompare::fromDD4hep_
private

Definition at line 111 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry().

◆ gammaVal_

float TrackerGeometryCompare::gammaVal_
private

Definition at line 144 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ geomDetToken_

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

Definition at line 91 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry().

◆ id_

int TrackerGeometryCompare::id_
private

\ Tree variables

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ identifiers_

uint32_t TrackerGeometryCompare::identifiers_[6]
private

Definition at line 150 of file TrackerGeometryCompare.h.

Referenced by fillIdentifiers(), and TrackerGeometryCompare().

◆ inModuleList_

int TrackerGeometryCompare::inModuleList_
private

Definition at line 143 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 135 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and createROOTGeometry().

◆ inputRootFile2_

TFile* TrackerGeometryCompare::inputRootFile2_
private

Definition at line 136 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and createROOTGeometry().

◆ inputTree01_

TTree* TrackerGeometryCompare::inputTree01_
private

Definition at line 137 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry().

◆ inputTree02_

TTree* TrackerGeometryCompare::inputTree02_
private

Definition at line 138 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry().

◆ inputTree11_

TTree* TrackerGeometryCompare::inputTree11_
private

Definition at line 139 of file TrackerGeometryCompare.h.

Referenced by analyze(), and createROOTGeometry().

◆ inputTree12_

TTree* TrackerGeometryCompare::inputTree12_
private

Definition at line 140 of file TrackerGeometryCompare.h.

Referenced by analyze(), and createROOTGeometry().

◆ inputTreenameAlign_

std::string TrackerGeometryCompare::inputTreenameAlign_
private

Definition at line 109 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry(), and TrackerGeometryCompare().

◆ inputTreenameDeform_

std::string TrackerGeometryCompare::inputTreenameDeform_
private

◆ level_

int TrackerGeometryCompare::level_
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ levelStrings_

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

Definition at line 105 of file TrackerGeometryCompare.h.

Referenced by analyze().

◆ m_h1_

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

Definition at line 163 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and TrackerGeometryCompare().

◆ m_nBins_

int TrackerGeometryCompare::m_nBins_
private

Definition at line 155 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and TrackerGeometryCompare().

◆ m_rangeHigh_

double TrackerGeometryCompare::m_rangeHigh_
private

Definition at line 157 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and TrackerGeometryCompare().

◆ m_rangeLow_

double TrackerGeometryCompare::m_rangeLow_
private

Definition at line 156 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and TrackerGeometryCompare().

◆ m_theLevels

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

Definition at line 59 of file TrackerGeometryCompare.h.

Referenced by analyze(), and compareGeometries().

◆ m_vtkmap_

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

◆ mid_

int TrackerGeometryCompare::mid_
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ mlevel_

int TrackerGeometryCompare::mlevel_
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ moduleInList_

int TrackerGeometryCompare::moduleInList_
private

Definition at line 129 of file TrackerGeometryCompare.h.

◆ moduleList_

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

Definition at line 128 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry(), and fillTree().

◆ moduleListFile_

std::ifstream TrackerGeometryCompare::moduleListFile_
private

Definition at line 127 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry().

◆ moduleListName_

std::string TrackerGeometryCompare::moduleListName_
private

Definition at line 106 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry(), and TrackerGeometryCompare().

◆ phiVal_

float TrackerGeometryCompare::phiVal_
private

Definition at line 144 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ pixQualityToken_

const edm::ESGetToken<SiPixelQuality, SiPixelQualityRcd> TrackerGeometryCompare::pixQualityToken_
private

Definition at line 93 of file TrackerGeometryCompare.h.

Referenced by fillTree().

◆ ptpToken_

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

Definition at line 92 of file TrackerGeometryCompare.h.

Referenced by createROOTGeometry().

◆ referenceTracker

AlignableTracker* TrackerGeometryCompare::referenceTracker
private

Definition at line 96 of file TrackerGeometryCompare.h.

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

◆ rVal_

float TrackerGeometryCompare::rVal_
private

Definition at line 144 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ setCommonTrackerSystem_

std::string TrackerGeometryCompare::setCommonTrackerSystem_
private

◆ stripQualityToken_

const edm::ESGetToken<SiStripQuality, SiStripQualityRcd> TrackerGeometryCompare::stripQualityToken_
private

Definition at line 94 of file TrackerGeometryCompare.h.

Referenced by fillTree().

◆ sublevel_

int TrackerGeometryCompare::sublevel_
private

Definition at line 143 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ surfDeform_

double TrackerGeometryCompare::surfDeform_[13]
private

Definition at line 153 of file TrackerGeometryCompare.h.

Referenced by compareSurfaceDeformations(), and TrackerGeometryCompare().

◆ surLength_

float TrackerGeometryCompare::surLength_
private

Definition at line 149 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ surRot_

double TrackerGeometryCompare::surRot_[9]
private

Definition at line 151 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ surWidth_

float TrackerGeometryCompare::surWidth_
private

Definition at line 149 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ theFile_

TFile* TrackerGeometryCompare::theFile_
private

Definition at line 133 of file TrackerGeometryCompare.h.

Referenced by endJob(), and TrackerGeometryCompare().

◆ theSurveyErrors

const SurveyErrors* TrackerGeometryCompare::theSurveyErrors
private

Definition at line 102 of file TrackerGeometryCompare.h.

Referenced by addSurveyInfo().

◆ theSurveyIndex

unsigned int TrackerGeometryCompare::theSurveyIndex
private

Definition at line 100 of file TrackerGeometryCompare.h.

Referenced by addSurveyInfo().

◆ theSurveyValues

const Alignments* TrackerGeometryCompare::theSurveyValues
private

Definition at line 101 of file TrackerGeometryCompare.h.

Referenced by addSurveyInfo().

◆ topoToken_

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

Definition at line 90 of file TrackerGeometryCompare.h.

Referenced by analyze(), and createROOTGeometry().

◆ TrackerCommonCM_

align::PositionType TrackerGeometryCompare::TrackerCommonCM_
private

Definition at line 125 of file TrackerGeometryCompare.h.

Referenced by diffCommonTrackerSystem(), and setCommonTrackerSystem().

◆ TrackerCommonR_

align::GlobalVector TrackerGeometryCompare::TrackerCommonR_
private

Definition at line 124 of file TrackerGeometryCompare.h.

Referenced by diffCommonTrackerSystem(), and setCommonTrackerSystem().

◆ TrackerCommonT_

align::GlobalVector TrackerGeometryCompare::TrackerCommonT_
private

Definition at line 123 of file TrackerGeometryCompare.h.

Referenced by diffCommonTrackerSystem(), and setCommonTrackerSystem().

◆ type_

int TrackerGeometryCompare::type_
private

◆ useDetId_

int TrackerGeometryCompare::useDetId_
private

Definition at line 143 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 118 of file TrackerGeometryCompare.h.

Referenced by TrackerGeometryCompare().

◆ weightByIdVector_

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

◆ writeToDB_

bool TrackerGeometryCompare::writeToDB_
private

Definition at line 112 of file TrackerGeometryCompare.h.

Referenced by analyze().

◆ xVal_

float TrackerGeometryCompare::xVal_
private

Definition at line 144 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ yVal_

float TrackerGeometryCompare::yVal_
private

Definition at line 144 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

◆ zVal_

float TrackerGeometryCompare::zVal_
private

Definition at line 144 of file TrackerGeometryCompare.h.

Referenced by fillTree(), and TrackerGeometryCompare().

Vector3DBase< Scalar, GlobalTag >
personalPlayback.level
level
Definition: personalPlayback.py:22
align::toAngles
EulerAngles toAngles(const RotationType &)
Convert rotation matrix to angles about x-, y-, z-axes (frame rotation).
Definition: Utilities.cc:8
TrackerGeometryCompare::dbetaVal_
float dbetaVal_
Definition: TrackerGeometryCompare.h:146
TrackerGeometryCompare::TrackerCommonT_
align::GlobalVector TrackerCommonT_
Definition: TrackerGeometryCompare.h:123
change_name.diff
diff
Definition: change_name.py:13
TrackerGeometryCompare::theFile_
TFile * theFile_
Definition: TrackerGeometryCompare.h:133
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
TrackerGeometryCompare::filename_
std::string filename_
Definition: TrackerGeometryCompare.h:132
mps_fire.i
i
Definition: mps_fire.py:428
TrackerGeometryCompare::detIdFlagVector_
std::vector< uint32_t > detIdFlagVector_
Definition: TrackerGeometryCompare.h:121
TrackerGeometryCompare::betaVal_
float betaVal_
Definition: TrackerGeometryCompare.h:144
TrackerGeometryCompare::inputTreenameAlign_
std::string inputTreenameAlign_
Definition: TrackerGeometryCompare.h:109
TrackerGeometryCompare::fillTree
void fillTree(Alignable *refAli, const AlgebraicVector &diff, const TrackerTopology *tTopo, const edm::EventSetup &iSetup)
Definition: TrackerGeometryCompare.cc:792
align
Definition: AlignableIndexer.h:30
TrackerGeometryCompare::setCommonTrackerSystem
void setCommonTrackerSystem()
Definition: TrackerGeometryCompare.cc:713
TrackerGeometryCompare::setCommonTrackerSystem_
std::string setCommonTrackerSystem_
Definition: TrackerGeometryCompare.h:114
cond::service::PoolDBOutputService::beginOfTime
cond::Time_t beginOfTime() const
Definition: PoolDBOutputService.cc:215
TrackerGeometryCompare::inputRootFile1_
TFile * inputRootFile1_
Definition: TrackerGeometryCompare.h:135
PTrackerParameters
Definition: PTrackerParameters.h:6
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
TrackerGeometryCompare::inputFilename1_
std::string inputFilename1_
Definition: TrackerGeometryCompare.h:107
TrackerGeometryCompare::inModuleList_
int inModuleList_
Definition: TrackerGeometryCompare.h:143
TrackerTopology::pxfSide
unsigned int pxfSide(const DetId &id) const
Definition: TrackerTopology.h:192
TrackerGeometryCompare::inputTree12_
TTree * inputTree12_
Definition: TrackerGeometryCompare.h:140
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
TrackerGeometryCompare::cpvTokenDDD_
const edm::ESGetToken< DDCompactView, IdealGeometryRecord > cpvTokenDDD_
Definition: TrackerGeometryCompare.h:88
TrackerGeometryCompare::sublevel_
int sublevel_
Definition: TrackerGeometryCompare.h:143
TrackerGeometryCompare::dgammaVal_
float dgammaVal_
Definition: TrackerGeometryCompare.h:146
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:599
TrackerGeometryCompare::id_
int id_
Definition: TrackerGeometryCompare.h:143
TrackerGeometryCompare::weightById_
bool weightById_
Definition: TrackerGeometryCompare.h:117
TrackerGeometryCompare::detIdFlagFile_
std::string detIdFlagFile_
Definition: TrackerGeometryCompare.h:116
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
TrackerGeometryCompare::dvVal_
float dvVal_
Definition: TrackerGeometryCompare.h:148
TrackerGeometryCompare::etaVal_
float etaVal_
Definition: TrackerGeometryCompare.h:144
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:995
align::moveAlignable
void moveAlignable(Alignable *ali, AlgebraicVector diff)
Moves the alignable by the AlgebraicVector.
Definition: AlignTools.cc:84
TrackerGeomBuilderFromGeometricDet::build
TrackerGeometry * build(const GeometricDet *gd, const PTrackerParameters &ptp, const TrackerTopology *tTopo)
Definition: TrackerGeomBuilderFromGeometricDet.cc:43
TrackerGeometryCompare::inputRootFile2_
TFile * inputRootFile2_
Definition: TrackerGeometryCompare.h:136
TrackerGeometryCompare::currentTracker
AlignableTracker * currentTracker
Definition: TrackerGeometryCompare.h:98
TrackerGeometryCompare::weightBy_
std::string weightBy_
Definition: TrackerGeometryCompare.h:113
TFileDirectory
Definition: TFileDirectory.h:24
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
TrackerGeometryCompare::dalphaVal_
float dalphaVal_
Definition: TrackerGeometryCompare.h:146
TrackerGeometryCompare::dwVal_
float dwVal_
Definition: TrackerGeometryCompare.h:148
TrackerGeometryCompare::zVal_
float zVal_
Definition: TrackerGeometryCompare.h:144
AlignableSurface::length
align::Scalar length() const
Definition: AlignableSurface.h:32
TrackerGeometryCompare::m_rangeHigh_
double m_rangeHigh_
Definition: TrackerGeometryCompare.h:157
relativeConstraints.error
error
Definition: relativeConstraints.py:53
edm::Service::isAvailable
bool isAvailable() const
Definition: Service.h:40
SurfaceDeformation
Definition: SurfaceDeformation.h:18
GeometryAligner::applyAlignments
void applyAlignments(const C *geometry, const Alignments *alignments, const AlignmentErrorsExtended *alignmentErrors, const AlignTransform &globalCoordinates)
Definition: GeometryAligner.h:52
AlCaHLTBitMon_QueryRunRegistry.comp
comp
Definition: AlCaHLTBitMon_QueryRunRegistry.py:249
TrackerGeometryCompare::cpvTokenDD4Hep_
const edm::ESGetToken< cms::DDCompactView, IdealGeometryRecord > cpvTokenDD4Hep_
Definition: TrackerGeometryCompare.h:89
TrackerTopology::tidRing
unsigned int tidRing(const DetId &id) const
Definition: TrackerTopology.h:218
TrackerGeometryCompare::inputTreenameDeform_
std::string inputTreenameDeform_
Definition: TrackerGeometryCompare.h:110
AlignableTracker::pixelHalfBarrelGeomDets
Alignables & pixelHalfBarrelGeomDets()
Return pixel barrel GeomDets.
Definition: AlignableTracker.h:59
TrackerGeometryCompare::theSurveyErrors
const SurveyErrors * theSurveyErrors
Definition: TrackerGeometryCompare.h:102
TrackerGeometryCompare::passIdCut
bool passIdCut(uint32_t)
Definition: TrackerGeometryCompare.cc:983
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
TrackerGeometryCompare::moduleListName_
std::string moduleListName_
Definition: TrackerGeometryCompare.h:106
DetId
Definition: DetId.h:17
TrackerTopology::tobRodInfo
std::vector< unsigned int > tobRodInfo(const DetId &id) const
Definition: TrackerTopology.h:226
TrackerGeometryCompare::surRot_
double surRot_[9]
Definition: TrackerGeometryCompare.h:151
TrackerGeometryCompare::duVal_
float duVal_
Definition: TrackerGeometryCompare.h:148
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
TrackerGeometryCompare::dphiVal_
float dphiVal_
Definition: TrackerGeometryCompare.h:146
TrackerGeometryCompare::commonTrackerLevel_
align::StructureType commonTrackerLevel_
Definition: TrackerGeometryCompare.h:122
TrackerGeometryCompare::TrackerCommonCM_
align::PositionType TrackerCommonCM_
Definition: TrackerGeometryCompare.h:125
Abs
T Abs(T a)
Definition: MathUtil.h:49
AlgebraicVector
CLHEP::HepVector AlgebraicVector
Definition: AlgebraicObjects.h:13
groupFilesInBlocks.fin
fin
Definition: groupFilesInBlocks.py:94
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::identifiers_
uint32_t identifiers_[6]
Definition: TrackerGeometryCompare.h:150
TrackerGeometryCompare::weightByIdFile_
std::string weightByIdFile_
Definition: TrackerGeometryCompare.h:118
TrackerGeometryCompare::daVal_
float daVal_
Definition: TrackerGeometryCompare.h:148
TrackerGeometryCompare::drVal_
float drVal_
Definition: TrackerGeometryCompare.h:146
TrackerGeometryCompare::yVal_
float yVal_
Definition: TrackerGeometryCompare.h:144
TrackerGeometryCompare::theSurveyIndex
unsigned int theSurveyIndex
Definition: TrackerGeometryCompare.h:100
TrackerGeometryCompare::referenceTracker
AlignableTracker * referenceTracker
Definition: TrackerGeometryCompare.h:96
TrackerGeometryCompare::m_rangeLow_
double m_rangeLow_
Definition: TrackerGeometryCompare.h:156
TrackerGeometryCompare::compareSurfaceDeformations
void compareSurfaceDeformations(TTree *_inputTree11, TTree *_inputTree12)
Definition: TrackerGeometryCompare.cc:449
AlignableTracker
Definition: AlignableTracker.h:17
GeometricDet
Definition: GeometricDet.h:31
HcalDetIdTransform::transform
unsigned transform(const HcalDetId &id, unsigned transformCode)
Definition: HcalDetIdTransform.cc:7
TrackerGeometryCompare::badModuleQuality_
int badModuleQuality_
Definition: TrackerGeometryCompare.h:143
TrackerGeometryCompare::createROOTGeometry
void createROOTGeometry(const edm::EventSetup &iSetup)
Definition: TrackerGeometryCompare.cc:272
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
Point3DBase< Scalar, GlobalTag >
TrackerGeometryCompare::xVal_
float xVal_
Definition: TrackerGeometryCompare.h:144
TrackerGeometryCompare::surfDeform_
double surfDeform_[13]
Definition: TrackerGeometryCompare.h:153
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:601
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::alignTree_
TTree * alignTree_
Definition: TrackerGeometryCompare.h:134
TrackerGeometryCompare::ptpToken_
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcd > ptpToken_
Definition: TrackerGeometryCompare.h:92
TFileService::mkdir
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
Definition: TFileService.h:69
TrackerGeometryCompare::addSurveyInfo
void addSurveyInfo(Alignable *ali)
Definition: TrackerGeometryCompare.cc:954
TrackerGeometryCompare::m_theLevels
std::vector< align::StructureType > m_theLevels
Definition: TrackerGeometryCompare.h:59
align::AlignableDetUnit
Definition: StructureType.h:19
SiPixelQuality
Definition: SiPixelQuality.h:27
TrackerGeometryCompare::TrackerCommonR_
align::GlobalVector TrackerCommonR_
Definition: TrackerGeometryCompare.h:124
align::invalid
Definition: StructureType.h:18
TrackerGeometryCompare::dyVal_
float dyVal_
Definition: TrackerGeometryCompare.h:146
dqmiodatasetharvest.ctr
ctr
Definition: dqmiodatasetharvest.py:191
Alignable::id
align::ID id() const
Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit).
Definition: Alignable.h:180
TrackerGeometryCompare::inputFilename2_
std::string inputFilename2_
Definition: TrackerGeometryCompare.h:108
TrackerGeometryCompare::useDetId_
int useDetId_
Definition: TrackerGeometryCompare.h:143
TrackerGeometryCompare::alphaVal_
float alphaVal_
Definition: TrackerGeometryCompare.h:144
TrackerGeometryCompare::m_nBins_
int m_nBins_
Definition: TrackerGeometryCompare.h:155
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
edm::Service< TFileService >
createfilelist.int
int
Definition: createfilelist.py:10
TrackerGeometryCompare::levelStrings_
const std::vector< std::string > levelStrings_
Definition: TrackerGeometryCompare.h:105
TrackerTopology::tecRing
unsigned int tecRing(const DetId &id) const
ring id
Definition: TrackerTopology.h:217
TrackerGeometryCompare::pixQualityToken_
const edm::ESGetToken< SiPixelQuality, SiPixelQualityRcd > pixQualityToken_
Definition: TrackerGeometryCompare.h:93
TrackerTopology::pxfModule
unsigned int pxfModule(const DetId &id) const
Definition: TrackerTopology.h:163
TrackerTopology::pxfDisk
unsigned int pxfDisk(const DetId &id) const
Definition: TrackerTopology.h:446
tolerance
const double tolerance
Definition: HGCalGeomParameters.cc:26
Alignable::geomDetId
const DetId & geomDetId() const
Definition: Alignable.h:177
TrackerGeometryCompare::mlevel_
int mlevel_
Definition: TrackerGeometryCompare.h:143
TrackerGeometryCompare::m_h1_
std::map< std::string, TH1D * > m_h1_
Definition: TrackerGeometryCompare.h:163
TrackerGeometryCompare::moduleListFile_
std::ifstream moduleListFile_
Definition: TrackerGeometryCompare.h:127
TrackerGeometryCompare::detIdFlag_
bool detIdFlag_
Definition: TrackerGeometryCompare.h:115
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
align::EulerAngles
AlgebraicVector EulerAngles
Definition: Definitions.h:34
AlignmentErrorsExtended
Definition: AlignmentErrorsExtended.h:10
edm::EventSetup::getTransientHandle
ESTransientHandle< T > getTransientHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:159
edm::ESTransientHandle
Definition: ESTransientHandle.h:41
TrackerGeometryCompare::geomDetToken_
const edm::ESGetToken< GeometricDet, IdealGeometryRecord > geomDetToken_
Definition: TrackerGeometryCompare.h:91
TrackerGeometryCompare::diffCommonTrackerSystem
void diffCommonTrackerSystem(Alignable *refAli, Alignable *curAli)
Definition: TrackerGeometryCompare.cc:757
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:120
looper.cfg
cfg
Definition: looper.py:297
TrackerGeometryCompare::theSurveyValues
const Alignments * theSurveyValues
Definition: TrackerGeometryCompare.h:101
align::AlignableDet
Definition: StructureType.h:20
TrackerGeometryCompare::surWidth_
float surWidth_
Definition: TrackerGeometryCompare.h:149
TrackerGeometryCompare::dummyTracker
AlignableTracker * dummyTracker
Definition: TrackerGeometryCompare.h:97
align::Alignables
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
TrackerTopology::tobLayer
unsigned int tobLayer(const DetId &id) const
Definition: TrackerTopology.h:147
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
TrackerGeometryCompare::topoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Definition: TrackerGeometryCompare.h:90
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
TrackerGeometryCompare::mid_
int mid_
Definition: TrackerGeometryCompare.h:143
TrackerTopology::pxbModule
unsigned int pxbModule(const DetId &id) const
Definition: TrackerTopology.h:160
AlignableSurface
Definition: AlignableSurface.h:20
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
AlignableSurface::width
align::Scalar width() const
Definition: AlignableSurface.h:30
TrackerGeometryCompare::stripQualityToken_
const edm::ESGetToken< SiStripQuality, SiStripQualityRcd > stripQualityToken_
Definition: TrackerGeometryCompare.h:94
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:63
TrackerGeometryCompare::detDim_
int detDim_
Definition: TrackerGeometryCompare.h:143
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
TrackerGeometryCompare::rVal_
float rVal_
Definition: TrackerGeometryCompare.h:144
TrackerGeometryCompare::dgVal_
float dgVal_
Definition: TrackerGeometryCompare.h:148
TrackerGeometryCompare::writeToDB_
bool writeToDB_
Definition: TrackerGeometryCompare.h:112
AlignableObjectId::stringToId
align::StructureType stringToId(const char *) const
Definition: AlignableObjectId.cc:270
TrackerGeometryCompare::dzVal_
float dzVal_
Definition: TrackerGeometryCompare.h:146
AlignTransformErrorExtended
Definition: AlignTransformErrorExtended.h:13
TrackerGeometryCompare::weightByIdVector_
std::vector< unsigned int > weightByIdVector_
Definition: TrackerGeometryCompare.h:119
TrackerGeometryCompare::level_
int level_
Definition: TrackerGeometryCompare.h:143
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
TrackerGeometryCompare::moduleList_
std::vector< int > moduleList_
Definition: TrackerGeometryCompare.h:128
TrackerTopology::tecModule
unsigned int tecModule(const DetId &id) const
Definition: TrackerTopology.h:169
TrackerGeometryCompare::type_
int type_
Definition: TrackerGeometryCompare.h:152
TrackerGeometryCompare::dbVal_
float dbVal_
Definition: TrackerGeometryCompare.h:148
SurveyError
Definition: SurveyError.h:23
edm::EDConsumerBase::esConsumes
auto esConsumes()
Definition: EDConsumerBase.h:200
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
TrackerGeometryCompare::m_vtkmap_
std::vector< TrackerMap > m_vtkmap_
Definition: TrackerGeometryCompare.h:161
HGC3DClusterGenMatchSelector_cfi.dR
dR
Definition: HGC3DClusterGenMatchSelector_cfi.py:7
TrackerGeometryCompare::gammaVal_
float gammaVal_
Definition: TrackerGeometryCompare.h:144
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:159
TrackerGeometryCompare::inputTree11_
TTree * inputTree11_
Definition: TrackerGeometryCompare.h:139
SurveyErrors::m_surveyErrors
std::vector< SurveyError > m_surveyErrors
Definition: SurveyErrors.h:22
TrackerGeometryCompare::surLength_
float surLength_
Definition: TrackerGeometryCompare.h:149
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
Alignments
Definition: Alignments.h:10
cuy.ii
ii
Definition: cuy.py:590
TrackerGeometryCompare::dxVal_
float dxVal_
Definition: TrackerGeometryCompare.h:146
Basic3DVector< Scalar >
TrackerGeometryCompare::inputTree02_
TTree * inputTree02_
Definition: TrackerGeometryCompare.h:138
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
TrackerGeometryCompare::inputTree01_
TTree * inputTree01_
Definition: TrackerGeometryCompare.h:137
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
SurfaceDeformationFactory::create
SurfaceDeformation * create(int type, const std::vector< double > &params)
Definition: SurfaceDeformationFactory.cc:40
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
SiStripQuality
Definition: SiStripQuality.h:32
TrackerGeometryCompare::fromDD4hep_
bool fromDD4hep_
Definition: TrackerGeometryCompare.h:111
TrackerTopology::tecSide
unsigned int tecSide(const DetId &id) const
Definition: TrackerTopology.h:184
TrackerGeometryCompare::phiVal_
float phiVal_
Definition: TrackerGeometryCompare.h:144