CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
PixelBaryCentreAnalyzer Class Reference
Inheritance diagram for PixelBaryCentreAnalyzer:
edm::one::EDAnalyzer< edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Classes

struct  SimplePoint
 

Public Member Functions

 PixelBaryCentreAnalyzer (const edm::ParameterSet &)
 
 ~PixelBaryCentreAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::SharedResources >
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept 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 noexcept
 
bool wantsStreamRuns () const noexcept
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Static Public Attributes

static const unsigned int nPixelDiscs = 3
 
static const unsigned int nPixelLayers = 4
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 
void endJob () override
 
void initBC ()
 
void initBS ()
 

Private Attributes

std::vector< std::string > bcLabels_
 
std::map< std::string, TTree * > bcTrees_
 
GlobalPoint BPIX_
 
GlobalPoint BPIX_DiffFlippedNonFlipped_
 
GlobalPoint BPIX_Flipped_
 
GlobalPoint BPIX_NonFlipped_
 
GlobalPoint BPIXLayer_ [nPixelLayers]
 
GlobalPoint BPIXLayer_DiffFlippedNonFlipped_ [nPixelLayers]
 
GlobalPoint BPIXLayer_Flipped_ [nPixelLayers]
 
GlobalPoint BPIXLayer_NonFlipped_ [nPixelLayers]
 
GlobalPoint BS_
 
std::vector< std::string > bsLabels_
 
std::map< std::string, edm::ESGetToken< BeamSpotObjects, BeamSpotObjectsRcd > > bsTokens_
 
std::map< std::string, TTree * > bsTrees_
 
GlobalPoint FPIX_
 
GlobalPoint FPIX_minus_
 
GlobalPoint FPIX_plus_
 
GlobalPoint FPIXDisks_minus_ [nPixelDiscs]
 
GlobalPoint FPIXDisks_plus_ [nPixelDiscs]
 
const edm::ESGetToken< Alignments, GlobalPositionRcdgprToken_
 
int ls_
 
int phase_
 
GlobalPoint PIX_
 
int run_
 
const edm::ESGetToken< SiPixelQuality, SiPixelQualityFromDbRcdsiPixelQualityToken_
 
edm::Service< TFileServicetFileService
 
std::map< std::string, edm::ESGetToken< Alignments, TrackerAlignmentRcd > > tkAlignTokens_
 
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordtrackerGeometryToken_
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtrackerTopologyToken_
 
const bool usePixelQuality_
 
SimplePoint vBPIX_
 
SimplePoint vBPIX_DiffFlippedNonFlipped_
 
SimplePoint vBPIX_Flipped_
 
SimplePoint vBPIX_NonFlipped_
 
SimplePoint vBPIXLayer_ [nPixelLayers]
 
SimplePoint vBPIXLayer_DiffFlippedNonFlipped_ [nPixelLayers]
 
SimplePoint vBPIXLayer_Flipped_ [nPixelLayers]
 
SimplePoint vBPIXLayer_NonFlipped_ [nPixelLayers]
 
SimplePoint vBS_
 
SimplePoint vFPIX_
 
SimplePoint vFPIX_minus_
 
SimplePoint vFPIX_plus_
 
SimplePoint vFPIXDisks_minus_ [nPixelDiscs]
 
SimplePoint vFPIXDisks_plus_ [nPixelDiscs]
 
SimplePoint vPIX_
 
edm::ESWatcher< BeamSpotObjectsRcdwatcherBS_
 
edm::ESWatcher< TrackerAlignmentRcdwatcherTkAlign_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

The analyer works as the following :

Python script plotBaryCentre_VS_BeamSpot.py under script dir is used to plot barycentres from alignment constants used in Prompt-Reco, End-of-Year Rereco and so-called Run-2 (Ultra)Legacy Rereco. Options of the plotting script can be found from the helper in the script.

Date
2021/01/05

$Last Modified: 2024/09/23 $

Revision
1.1
Author
Tongguang Cheng - Beihang University tongg.nosp@m.uang.nosp@m..chen.nosp@m.g@ce.nosp@m.rn.ch
Alberto Mecca - Torino University alber.nosp@m.to.m.nosp@m.ecca@.nosp@m.cern.nosp@m..ch

Definition at line 63 of file PixelBaryCentreAnalyzer.cc.

Constructor & Destructor Documentation

◆ PixelBaryCentreAnalyzer()

PixelBaryCentreAnalyzer::PixelBaryCentreAnalyzer ( const edm::ParameterSet iConfig)
explicit

Definition at line 146 of file PixelBaryCentreAnalyzer.cc.

References bcLabels_, bcTrees_, bsLabels_, bsTokens_, bsTrees_, label, and tkAlignTokens_.

147  : usePixelQuality_(iConfig.getUntrackedParameter<bool>("usePixelQuality")),
148  bcLabels_(iConfig.getUntrackedParameter<std::vector<std::string>>("tkAlignLabels")),
149  bsLabels_(iConfig.getUntrackedParameter<std::vector<std::string>>("beamSpotLabels")),
150  trackerGeometryToken_(esConsumes<TrackerGeometry, TrackerDigiGeometryRecord>()),
151  trackerTopologyToken_(esConsumes<TrackerTopology, TrackerTopologyRcd>()),
152  siPixelQualityToken_(esConsumes<SiPixelQuality, SiPixelQualityFromDbRcd>()),
153  gprToken_(esConsumes<Alignments, GlobalPositionRcd>()) {
154  for (const auto& label : bcLabels_) {
155  bcTrees_[label] = nullptr;
156  tkAlignTokens_[label] = esConsumes<Alignments, TrackerAlignmentRcd>(edm::ESInputTag{"", label});
157  }
158 
159  for (const auto& label : bsLabels_) {
160  bsTrees_[label] = nullptr;
161  bsTokens_[label] = esConsumes<BeamSpotObjects, BeamSpotObjectsRcd>(edm::ESInputTag{"", label});
162  }
163 
164  usesResource("TFileService");
165 }
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeometryToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyToken_
T getUntrackedParameter(std::string const &, T const &) const
char const * label
const edm::ESGetToken< Alignments, GlobalPositionRcd > gprToken_
std::vector< std::string > bsLabels_
std::vector< std::string > bcLabels_
std::map< std::string, TTree * > bsTrees_
const edm::ESGetToken< SiPixelQuality, SiPixelQualityFromDbRcd > siPixelQualityToken_
std::map< std::string, edm::ESGetToken< Alignments, TrackerAlignmentRcd > > tkAlignTokens_
std::map< std::string, TTree * > bcTrees_
std::map< std::string, edm::ESGetToken< BeamSpotObjects, BeamSpotObjectsRcd > > bsTokens_

◆ ~PixelBaryCentreAnalyzer()

PixelBaryCentreAnalyzer::~PixelBaryCentreAnalyzer ( )
overridedefault

Member Function Documentation

◆ analyze()

void PixelBaryCentreAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 230 of file PixelBaryCentreAnalyzer.cc.

References PixelBaryCentreAnalyzer_cfg::alignments, bcLabels_, bcTrees_, BPIX_, BPIX_DiffFlippedNonFlipped_, BPIX_Flipped_, BPIX_NonFlipped_, BPIXLayer_, BPIXLayer_DiffFlippedNonFlipped_, BPIXLayer_Flipped_, BPIXLayer_NonFlipped_, BS_, bsLabels_, bsTokens_, bsTrees_, edm::ESWatcher< T >::check(), align::DetectorGlobalPosition(), hcalRecHitTable_cff::detId, FPIX_, FPIX_minus_, FPIX_plus_, FPIXDisks_minus_, FPIXDisks_plus_, edm::EventSetup::getData(), gprToken_, PixelEndcapName::halfCylinder(), iEvent, initBC(), initBS(), SiPixelQuality::IsModuleBad(), TrackerGeometry::isThere(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, label, PVValHelper::ladder, nano_mu_digi_cff::layer, ls_, GeomDetEnumerators::P1PXB, GeomDetEnumerators::P1PXEC, phase_, PIX_, GeomDetEnumerators::PixelBarrel, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, GeomDetEnumerators::PixelEndcap, TrackerTopology::pxbLadder(), TrackerTopology::pxbLayer(), TrackerTopology::pxfDisk(), TrackerTopology::pxfModule(), TrackerTopology::pxfPanel(), SiPixelPI::quadrant(), relativeConstraints::ring, PixelEndcapName::ringName(), run_, siPixelQualityToken_, DetId::subdetId(), tkAlignTokens_, DetId::Tracker, trackerGeometryToken_, trackerTopologyToken_, AlignTransform::translation(), usePixelQuality_, vBPIX_, vBPIX_DiffFlippedNonFlipped_, vBPIX_Flipped_, vBPIX_NonFlipped_, vBPIXLayer_, vBPIXLayer_DiffFlippedNonFlipped_, vBPIXLayer_Flipped_, vBPIXLayer_NonFlipped_, vBS_, vFPIX_, vFPIX_minus_, vFPIX_plus_, vFPIXDisks_minus_, vFPIXDisks_plus_, vPIX_, watcherBS_, watcherTkAlign_, PV3DBase< T, PVType, FrameType >::x(), BeamSpotObjects::x(), PV3DBase< T, PVType, FrameType >::y(), BeamSpotObjects::y(), PV3DBase< T, PVType, FrameType >::z(), and BeamSpotObjects::z().

230  {
231  bool prepareTkAlign = false;
232  bool prepareBS = false;
233 
234  // ES watcher can noly run once in the same event,
235  // otherwise it will turn false whatsoever because the condition doesn't change in the second time call.
236  if (watcherTkAlign_.check(iSetup))
237  prepareTkAlign = true;
238  if (watcherBS_.check(iSetup))
239  prepareBS = true;
240 
241  if (!prepareTkAlign && !prepareBS)
242  return;
243 
244  run_ = iEvent.id().run();
245  ls_ = iEvent.id().luminosityBlock();
246 
247  if (prepareTkAlign) { // check for new IOV for TKAlign
248 
249  phase_ = -1;
250 
251  const TrackerGeometry& tkGeom = iSetup.getData(trackerGeometryToken_);
252  const TrackerTopology& tkTopo = iSetup.getData(trackerTopologyToken_);
253 
255  phase_ = 0;
257  phase_ = 1;
258  }
259 
260  // pixel quality
261  const SiPixelQuality& badPixelInfo = iSetup.getData(siPixelQualityToken_);
262 
263  // Tracker global position
264  const Alignments& globalAlignments = iSetup.getData(gprToken_);
265  const AlignTransform globalCoordinates = align::DetectorGlobalPosition(globalAlignments, DetId(DetId::Tracker));
266  GlobalVector globalTkPosition(
267  globalCoordinates.translation().x(), globalCoordinates.translation().y(), globalCoordinates.translation().z());
268 
269  // loop over bclabels
270  for (const auto& label : bcLabels_) {
271  // init tree content
273 
274  // Get TkAlign from EventSetup:
276  std::vector<AlignTransform> tkAlignments = alignments.m_align;
277 
278  // PIX
279  GlobalVector barycentre_PIX(0.0, 0.0, 0.0);
280  // BPIX
281  GlobalVector barycentre_BPIX(0.0, 0.0, 0.0);
282  float nmodules_BPIX(0.);
283  // FPIX
284  GlobalVector barycentre_FPIX(0.0, 0.0, 0.0);
285  float nmodules_FPIX(0.);
286 
287  // Per-layer/ladder barycentre for BPIX
288  std::map<int, std::map<int, float>> nmodules_bpix; // layer-ladder
289  std::map<int, std::map<int, GlobalVector>> barycentre_bpix; // layer-ladder
290 
291  // Per-disk/ring barycentre for FPIX
292  std::map<int, std::map<int, float>> nmodules_fpix; // disk-ring
293  std::map<int, std::map<int, GlobalVector>> barycentre_fpix; // disk-ring
294 
295  // Loop over tracker module
296  for (const auto& ali : tkAlignments) {
297  //DetId
298  const DetId& detId = DetId(ali.rawId());
299  // remove bad module
300  if (usePixelQuality_ && badPixelInfo.IsModuleBad(detId))
301  continue;
302 
303  // alignment for a given module
304  GlobalVector ali_translation(ali.translation().x(), ali.translation().y(), ali.translation().z());
305 
306  int subid = DetId(detId).subdetId();
307  // BPIX
308  if (subid == PixelSubdetector::PixelBarrel) {
309  nmodules_BPIX += 1;
310  barycentre_BPIX += ali_translation;
311  barycentre_PIX += ali_translation;
312 
313  int layer = tkTopo.pxbLayer(detId);
314  int ladder = tkTopo.pxbLadder(detId);
315  nmodules_bpix[layer][ladder] += 1;
316  barycentre_bpix[layer][ladder] += ali_translation;
317 
318  } // BPIX
319 
320  // FPIX
321  if (subid == PixelSubdetector::PixelEndcap) {
322  nmodules_FPIX += 1;
323  barycentre_FPIX += ali_translation;
324  barycentre_PIX += ali_translation;
325 
326  int disk = tkTopo.pxfDisk(detId);
327  int quadrant = PixelEndcapName(detId, &tkTopo, phase_).halfCylinder();
328  if (quadrant < 3)
329  disk *= -1;
330 
331  int ring = -9999;
332  if (phase_ == 0) {
333  ring = 1 + (tkTopo.pxfPanel(detId) + tkTopo.pxfModule(detId.rawId()) > 3);
334  } else if (phase_ == 1) {
335  ring = PixelEndcapName(detId, &tkTopo, phase_).ringName();
336  }
337 
338  nmodules_fpix[disk][ring] += 1;
339  barycentre_fpix[disk][ring] += ali_translation;
340 
341  } // FPIX
342 
343  } // loop over tracker module
344 
345  //PIX
346  float nmodules_PIX = nmodules_BPIX + nmodules_FPIX;
347  barycentre_PIX *= (1.0 / nmodules_PIX);
348  barycentre_PIX += globalTkPosition;
349  PIX_ = GlobalPoint(barycentre_PIX.x(), barycentre_PIX.y(), barycentre_PIX.z());
350  vPIX_ = SimplePoint(PIX_);
351 
352  //BPIX
353  barycentre_BPIX *= (1.0 / nmodules_BPIX);
354  barycentre_BPIX += globalTkPosition;
355  BPIX_ = GlobalPoint(barycentre_BPIX.x(), barycentre_BPIX.y(), barycentre_BPIX.z());
356  vBPIX_ = SimplePoint(BPIX_);
357  //FPIX
358  barycentre_FPIX *= (1.0 / nmodules_FPIX);
359  barycentre_FPIX += globalTkPosition;
360  FPIX_ = GlobalPoint(barycentre_FPIX.x(), barycentre_FPIX.y(), barycentre_FPIX.z());
361  vFPIX_ = SimplePoint(FPIX_);
362  // Pixel substructures
363 
364  // BPix barycentre per-layer/per-ladder
365  // assuming each ladder has the same number of modules in the same layer
366  // inner = flipped; outer = non-flipped
367  //
368  // Phase 0: Outer ladders are odd for layer 1,3 and even for layer 2
369  // Phase 1: Outer ladders are odd for layer 4 and even for layer 1,2,3
370  //
371 
372  int nmodules_BPIX_Flipped = 0;
373  int nmodules_BPIX_NonFlipped = 0;
374  GlobalVector BPIX_Flipped(0.0, 0.0, 0.0);
375  GlobalVector BPIX_NonFlipped(0.0, 0.0, 0.0);
376 
377  // loop over layers
378  for (const auto& il : barycentre_bpix) {
379  int layer = il.first;
380 
381  int nmodulesLayer = 0;
382  int nmodulesLayer_Flipped = 0;
383  int nmodulesLayer_NonFlipped = 0;
384  GlobalVector BPIXLayer(0.0, 0.0, 0.0);
385  GlobalVector BPIXLayer_Flipped(0.0, 0.0, 0.0);
386  GlobalVector BPIXLayer_NonFlipped(0.0, 0.0, 0.0);
387 
388  // loop over ladder
389  std::map<int, GlobalVector> barycentreLayer = barycentre_bpix[layer];
390  for (const auto& it : barycentreLayer) {
391  int ladder = it.first;
392  //BPIXLayerLadder_[layer][ladder] = (1.0/nmodules[layer][ladder])*barycentreLayer[ladder] + globalTkPosition;
393 
394  nmodulesLayer += nmodules_bpix[layer][ladder];
395  BPIXLayer += barycentreLayer[ladder];
396 
397  // Phase-1
398  //
399  // Phase 1: Outer ladders are odd for layer 4 and even for layer 1,2,3
400  if (phase_ == 1) {
401  if (layer != 4) { // layer 1-3
402 
403  if (ladder % 2 != 0) { // odd ladder = outer ladder = unflipped
404  nmodulesLayer_NonFlipped += nmodules_bpix[layer][ladder];
405  BPIXLayer_NonFlipped += barycentreLayer[ladder];
406  } else { // even ladder = inner ladder = flipped
407  nmodulesLayer_Flipped += nmodules_bpix[layer][ladder];
408  BPIXLayer_Flipped += barycentreLayer[ladder];
409  }
410  } else { // layer-4
411 
412  if (ladder % 2 != 0) { // odd ladder = inner = flipped
413  nmodulesLayer_Flipped += nmodules_bpix[layer][ladder];
414  BPIXLayer_Flipped += barycentreLayer[ladder];
415  } else { //even ladder = outer ladder = unflipped
416  nmodulesLayer_NonFlipped += nmodules_bpix[layer][ladder];
417  BPIXLayer_NonFlipped += barycentreLayer[ladder];
418  }
419  }
420 
421  } // phase-1
422 
423  // Phase-0
424  //
425  // Phase 0: Outer ladders are odd for layer 1,3 and even for layer 2
426  if (phase_ == 0) {
427  if (layer == 2) { // layer-2
428 
429  if (ladder % 2 != 0) { // odd ladder = inner = flipped
430  nmodulesLayer_Flipped += nmodules_bpix[layer][ladder];
431  BPIXLayer_Flipped += barycentreLayer[ladder];
432  } else {
433  nmodulesLayer_NonFlipped += nmodules_bpix[layer][ladder];
434  BPIXLayer_NonFlipped += barycentreLayer[ladder];
435  }
436  } else { // layer-1,3
437 
438  if (ladder % 2 == 0) { // even ladder = inner = flipped
439  nmodulesLayer_Flipped += nmodules_bpix[layer][ladder];
440  BPIXLayer_Flipped += barycentreLayer[ladder];
441  } else { // odd ladder = outer = non-flipped
442  nmodulesLayer_NonFlipped += nmodules_bpix[layer][ladder];
443  BPIXLayer_NonFlipped += barycentreLayer[ladder];
444  }
445  }
446 
447  } // phase-0
448 
449  } //loop over ladders
450 
451  // total BPIX flipped/non-flipped
452  BPIX_Flipped += BPIXLayer_Flipped;
453  BPIX_NonFlipped += BPIXLayer_NonFlipped;
454  nmodules_BPIX_Flipped += nmodulesLayer_Flipped;
455  nmodules_BPIX_NonFlipped += nmodulesLayer_NonFlipped;
456 
457  //BPIX per-layer
458  BPIXLayer *= (1.0 / nmodulesLayer);
459  BPIXLayer += globalTkPosition;
460  BPIXLayer_Flipped *= (1.0 / nmodulesLayer_Flipped);
461  BPIXLayer_Flipped += globalTkPosition;
462  BPIXLayer_NonFlipped *= (1.0 / nmodulesLayer_NonFlipped);
463  BPIXLayer_NonFlipped += globalTkPosition;
464 
465  BPIXLayer_[layer - 1] = GlobalPoint(BPIXLayer.x(), BPIXLayer.y(), BPIXLayer.z());
466  vBPIXLayer_[layer - 1] = SimplePoint(BPIXLayer_[layer - 1]);
468  GlobalPoint(BPIXLayer_Flipped.x(), BPIXLayer_Flipped.y(), BPIXLayer_Flipped.z());
469  vBPIXLayer_Flipped_[layer - 1] = SimplePoint(BPIXLayer_Flipped_[layer - 1]);
471  GlobalPoint(BPIXLayer_NonFlipped.x(), BPIXLayer_NonFlipped.y(), BPIXLayer_NonFlipped.z());
472  vBPIXLayer_NonFlipped_[layer - 1] = SimplePoint(BPIXLayer_NonFlipped_[layer - 1]);
473  BPIXLayer_DiffFlippedNonFlipped_[layer - 1] = GlobalPoint(BPIXLayer_Flipped.x() - BPIXLayer_NonFlipped.x(),
474  BPIXLayer_Flipped.y() - BPIXLayer_NonFlipped.y(),
475  BPIXLayer_Flipped.z() - BPIXLayer_NonFlipped.z());
477 
478  } // loop over layers
479 
480  BPIX_Flipped *= (1.0 / nmodules_BPIX_Flipped);
481  BPIX_Flipped += globalTkPosition;
482  BPIX_Flipped_ = GlobalPoint(BPIX_Flipped.x(), BPIX_Flipped.y(), BPIX_Flipped.z());
483  vBPIX_Flipped_ = SimplePoint(BPIX_Flipped_);
484  BPIX_NonFlipped *= (1.0 / nmodules_BPIX_NonFlipped);
485  BPIX_NonFlipped += globalTkPosition;
486  BPIX_NonFlipped_ = GlobalPoint(BPIX_NonFlipped.x(), BPIX_NonFlipped.y(), BPIX_NonFlipped.z());
487  vBPIX_NonFlipped_ = SimplePoint(BPIX_NonFlipped_);
488  BPIX_DiffFlippedNonFlipped_ = GlobalPoint(BPIX_Flipped.x() - BPIX_NonFlipped.x(),
489  BPIX_Flipped.y() - BPIX_NonFlipped.y(),
490  BPIX_Flipped.z() - BPIX_NonFlipped.z());
492 
493  // FPIX substructures per-(signed)disk/per-ring
494  int nmodules_FPIX_plus = 0;
495  int nmodules_FPIX_minus = 0;
496  GlobalVector FPIX_plus(0.0, 0.0, 0.0);
497  GlobalVector FPIX_minus(0.0, 0.0, 0.0);
498  // loop over disks
499 
500  for (const auto& id : barycentre_fpix) {
501  int disk = id.first;
502 
503  int nmodulesDisk = 0;
504  GlobalVector FPIXDisk(0.0, 0.0, 0.0);
505 
506  std::map<int, GlobalVector> baryCentreDisk = id.second;
507  for (const auto& ir : baryCentreDisk) {
508  int ring = ir.first;
509  nmodulesDisk += nmodules_fpix[disk][ring];
510  FPIXDisk += ir.second;
511  if (disk > 0) {
512  nmodules_FPIX_plus += nmodules_fpix[disk][ring];
513  FPIX_plus += ir.second;
514  }
515  if (disk < 0) {
516  nmodules_FPIX_minus += nmodules_fpix[disk][ring];
517  FPIX_minus += ir.second;
518  }
519 
520  } // loop over rings
521 
522  FPIXDisk *= (1.0 / nmodulesDisk);
523  FPIXDisk += globalTkPosition;
524 
525  if (disk > 0) {
526  FPIXDisks_plus_[disk - 1] = GlobalPoint(FPIXDisk.x(), FPIXDisk.y(), FPIXDisk.z());
527  vFPIXDisks_plus_[disk - 1] = SimplePoint(FPIXDisks_plus_[disk - 1]);
528  }
529  if (disk < 0) {
530  FPIXDisks_minus_[-disk - 1] = GlobalPoint(FPIXDisk.x(), FPIXDisk.y(), FPIXDisk.z());
531  vFPIXDisks_minus_[-disk - 1] = SimplePoint(FPIXDisks_minus_[-disk - 1]);
532  }
533  } // loop over disks
534 
535  FPIX_plus *= (1.0 / nmodules_FPIX_plus);
536  FPIX_plus += globalTkPosition;
537  FPIX_plus_ = GlobalPoint(FPIX_plus.x(), FPIX_plus.y(), FPIX_plus.z());
538  vFPIX_plus_ = SimplePoint(FPIX_plus_);
539  FPIX_minus *= (1.0 / nmodules_FPIX_minus);
540  FPIX_minus += globalTkPosition;
541  FPIX_minus_ = GlobalPoint(FPIX_minus.x(), FPIX_minus.y(), FPIX_minus.z());
542  vFPIX_minus_ = SimplePoint(FPIX_minus_);
543 
544  bcTrees_[label]->Fill();
545 
546  } // bcLabels_
547 
548  } // check for new IOV for TKAlign
549 
550  // beamspot
551  if (prepareBS) {
552  // loop over bsLabels_
553  for (const auto& label : bsLabels_) {
554  // init bstree content
556 
557  // Get BeamSpot from EventSetup
558  const BeamSpotObjects* mybeamspot = &iSetup.getData(bsTokens_[label]);
559 
560  BS_ = GlobalPoint(mybeamspot->x(), mybeamspot->y(), mybeamspot->z());
561  vBS_ = SimplePoint(BS_);
562 
563  bsTrees_[label]->Fill();
564  } // bsLabels_
565 
566  } // check for new IOV for BS
567 }
GlobalPoint BPIXLayer_Flipped_[nPixelLayers]
SimplePoint vFPIXDisks_minus_[nPixelDiscs]
unsigned int pxbLayer(const DetId &id) const
double z() const
get Z beam position
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
int ringName() const
ring Id
edm::ESWatcher< BeamSpotObjectsRcd > watcherBS_
SimplePoint vBPIXLayer_NonFlipped_[nPixelLayers]
SimplePoint vBPIXLayer_DiffFlippedNonFlipped_[nPixelLayers]
GlobalPoint BPIXLayer_DiffFlippedNonFlipped_[nPixelLayers]
unsigned int pxfModule(const DetId &id) const
GlobalPoint FPIXDisks_plus_[nPixelDiscs]
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeometryToken_
int quadrant(const DetId &detid, const TrackerTopology *tTopo_, bool phase_)
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
const Translation & translation() const
bool IsModuleBad(const uint32_t &detid) const
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyToken_
unsigned int pxbLadder(const DetId &id) const
SimplePoint vBPIXLayer_Flipped_[nPixelLayers]
char const * label
GlobalPoint BPIXLayer_[nPixelLayers]
int iEvent
Definition: GenABIO.cc:224
GlobalPoint FPIXDisks_minus_[nPixelDiscs]
edm::ESWatcher< TrackerAlignmentRcd > watcherTkAlign_
bool isThere(GeomDetEnumerators::SubDetector subdet) const
HalfCylinder halfCylinder() const
unsigned int pxfDisk(const DetId &id) const
double x() const
get X beam position
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
SimplePoint vFPIXDisks_plus_[nPixelDiscs]
const edm::ESGetToken< Alignments, GlobalPositionRcd > gprToken_
std::vector< std::string > bsLabels_
unsigned int pxfPanel(const DetId &id) const
double y() const
get Y beam position
Definition: DetId.h:17
std::vector< std::string > bcLabels_
SimplePoint vBPIXLayer_[nPixelLayers]
std::map< std::string, TTree * > bsTrees_
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:57
const AlignTransform & DetectorGlobalPosition(const Alignments &allGlobals, const DetId &id)
const edm::ESGetToken< SiPixelQuality, SiPixelQualityFromDbRcd > siPixelQualityToken_
std::map< std::string, edm::ESGetToken< Alignments, TrackerAlignmentRcd > > tkAlignTokens_
std::map< std::string, TTree * > bcTrees_
GlobalPoint BPIXLayer_NonFlipped_[nPixelLayers]
std::map< std::string, edm::ESGetToken< BeamSpotObjects, BeamSpotObjectsRcd > > bsTokens_

◆ beginJob()

void PixelBaryCentreAnalyzer::beginJob ( )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 570 of file PixelBaryCentreAnalyzer.cc.

References bcLabels_, bcTrees_, bsLabels_, bsTrees_, mps_fire::i, label, nano_mu_digi_cff::layer, ls_, TFileService::make(), nPixelDiscs, nPixelLayers, run_, AlCaHLTBitMon_QueryRunRegistry::string, tFileService, ticlDumper_cff::treeName, vBPIX_, vBPIX_DiffFlippedNonFlipped_, vBPIX_Flipped_, vBPIX_NonFlipped_, vBPIXLayer_, vBPIXLayer_DiffFlippedNonFlipped_, vBPIXLayer_Flipped_, vBPIXLayer_NonFlipped_, vBS_, vFPIX_, vFPIX_minus_, vFPIX_plus_, vFPIXDisks_minus_, vFPIXDisks_plus_, and vPIX_.

570  {
571  // init bc bs trees
572  for (const auto& label : bsLabels_) {
573  std::string treeName = "BeamSpot";
574  if (!label.empty())
575  treeName = "BeamSpot_";
576  treeName += label;
577 
578  bsTrees_[label] = tFileService->make<TTree>(TString(treeName), "PixelBarycentre analyzer ntuple");
579 
580  bsTrees_[label]->Branch("run", &run_, "run/I");
581  bsTrees_[label]->Branch("ls", &ls_, "ls/I");
582 
583  bsTrees_[label]->Branch("BS", &vBS_, "x/F:y/F:z/F");
584 
585  } // bsLabels_
586 
587  for (const auto& label : bcLabels_) {
588  std::string treeName = "PixelBarycentre";
589  if (!label.empty())
590  treeName = "PixelBarycentre_";
591  treeName += label;
592  bcTrees_[label] = tFileService->make<TTree>(TString(treeName), "PixelBarycentre analyzer ntuple");
593 
594  bcTrees_[label]->Branch("run", &run_, "run/I");
595  bcTrees_[label]->Branch("ls", &ls_, "ls/I");
596 
597  bcTrees_[label]->Branch("PIX", &vPIX_, "x/F:y/F:z/F");
598 
599  bcTrees_[label]->Branch("BPIX", &vBPIX_, "x/F:y/F:z/F");
600  bcTrees_[label]->Branch("BPIX_Flipped", &vBPIX_Flipped_, "x/F:y/F:z/F");
601  bcTrees_[label]->Branch("BPIX_NonFlipped", &vBPIX_NonFlipped_, "x/F:y/F:z/F");
602  bcTrees_[label]->Branch("BPIX_DiffFlippedNonFlipped", &vBPIX_DiffFlippedNonFlipped_, "x/F:y/F:z/F");
603 
604  bcTrees_[label]->Branch("FPIX", &vFPIX_, "x/F:y/F:z/F");
605  bcTrees_[label]->Branch("FPIX_plus", &vFPIX_plus_, "x/F:y/F:z/F");
606  bcTrees_[label]->Branch("FPIX_minus", &vFPIX_minus_, "x/F:y/F:z/F");
607 
608  //per-layer
609  for (unsigned int i = 0; i < nPixelLayers; i++) {
610  TString structure = "BPIXLYR";
611  int layer = i + 1;
612  structure += layer;
613 
614  bcTrees_[label]->Branch(structure, &vBPIXLayer_[i], "x/F:y/F:z/F");
615  bcTrees_[label]->Branch(structure + "_Flipped", &vBPIXLayer_Flipped_[i], "x/F:y/F:z/F");
616  bcTrees_[label]->Branch(structure + "_NonFlipped", &vBPIXLayer_NonFlipped_[i], "x/F:y/F:z/F");
617  bcTrees_[label]->Branch(
618  structure + "_DiffFlippedNonFlipped", &vBPIXLayer_DiffFlippedNonFlipped_[i], "x/F:y/F:z/F");
619  }
620 
621  //per-disk/ring
622  for (unsigned int i = 0; i < nPixelDiscs; i++) {
623  TString structure = "FPIXDisk_plus";
624  int disk = i + 1;
625  structure += disk;
626  bcTrees_[label]->Branch(structure, &vFPIXDisks_plus_[i], "x/F:y/F:z/F");
627 
628  structure = "FPIXDisk_minus";
629  structure += disk;
630  bcTrees_[label]->Branch(structure, &vFPIXDisks_minus_[i], "x/F:y/F:z/F");
631  }
632 
633  } // bcLabels_
634 }
SimplePoint vFPIXDisks_minus_[nPixelDiscs]
static const unsigned int nPixelDiscs
SimplePoint vBPIXLayer_NonFlipped_[nPixelLayers]
SimplePoint vBPIXLayer_DiffFlippedNonFlipped_[nPixelLayers]
SimplePoint vBPIXLayer_Flipped_[nPixelLayers]
edm::Service< TFileService > tFileService
char const * label
SimplePoint vFPIXDisks_plus_[nPixelDiscs]
std::vector< std::string > bsLabels_
std::vector< std::string > bcLabels_
SimplePoint vBPIXLayer_[nPixelLayers]
std::map< std::string, TTree * > bsTrees_
static const unsigned int nPixelLayers
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
std::map< std::string, TTree * > bcTrees_

◆ endJob()

void PixelBaryCentreAnalyzer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 637 of file PixelBaryCentreAnalyzer.cc.

References bcLabels_, bcTrees_, bsLabels_, and bsTrees_.

Referenced by o2olib.O2ORunMgr::executeJob().

637  {
638  bcLabels_.clear();
639  bsLabels_.clear();
640 
641  bcTrees_.clear();
642  bsTrees_.clear();
643 }
std::vector< std::string > bsLabels_
std::vector< std::string > bcLabels_
std::map< std::string, TTree * > bsTrees_
std::map< std::string, TTree * > bcTrees_

◆ fillDescriptions()

void PixelBaryCentreAnalyzer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 646 of file PixelBaryCentreAnalyzer.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), and submitPVResolutionJobs::desc.

646  {
648  desc.setComment("Validates alignment payloads by providing the position of the pixel barycenter positions");
649  desc.addUntracked<bool>("usePixelQuality", false);
650  desc.addUntracked<std::vector<std::string>>("tkAlignLabels", {});
651  desc.addUntracked<std::vector<std::string>>("beamSpotLabels", {});
652  descriptions.addWithDefaultLabel(desc);
653 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)

◆ initBC()

void PixelBaryCentreAnalyzer::initBC ( )
private

Definition at line 178 of file PixelBaryCentreAnalyzer.cc.

References BPIX_, BPIX_DiffFlippedNonFlipped_, BPIX_Flipped_, BPIX_NonFlipped_, BPIXLayer_, BPIXLayer_DiffFlippedNonFlipped_, BPIXLayer_Flipped_, BPIXLayer_NonFlipped_, FPIX_, FPIX_minus_, FPIX_plus_, FPIXDisks_minus_, FPIXDisks_plus_, mps_fire::i, nPixelDiscs, nPixelLayers, PIX_, vBPIX_, vBPIX_DiffFlippedNonFlipped_, vBPIX_Flipped_, vBPIX_NonFlipped_, vBPIXLayer_, vBPIXLayer_DiffFlippedNonFlipped_, vBPIXLayer_Flipped_, vBPIXLayer_NonFlipped_, vFPIX_, vFPIX_minus_, vFPIX_plus_, vFPIXDisks_minus_, vFPIXDisks_plus_, and vPIX_.

Referenced by analyze().

178  {
179  // init to large number (unreasonable number) not zero
180  double dummy_float = 999999.0;
181 
182  PIX_ = GlobalPoint(dummy_float, dummy_float, dummy_float);
183  BPIX_ = GlobalPoint(dummy_float, dummy_float, dummy_float);
184  FPIX_ = GlobalPoint(dummy_float, dummy_float, dummy_float);
185 
186  BPIX_Flipped_ = GlobalPoint(dummy_float, dummy_float, dummy_float);
187  BPIX_NonFlipped_ = GlobalPoint(dummy_float, dummy_float, dummy_float);
188  BPIX_DiffFlippedNonFlipped_ = GlobalPoint(dummy_float, dummy_float, dummy_float);
189 
190  FPIX_plus_ = GlobalPoint(dummy_float, dummy_float, dummy_float);
191  FPIX_minus_ = GlobalPoint(dummy_float, dummy_float, dummy_float);
192 
193  for (unsigned int i = 0; i < nPixelLayers; i++) {
194  BPIXLayer_[i] = GlobalPoint(dummy_float, dummy_float, dummy_float);
195  BPIXLayer_Flipped_[i] = GlobalPoint(dummy_float, dummy_float, dummy_float);
196  BPIXLayer_NonFlipped_[i] = GlobalPoint(dummy_float, dummy_float, dummy_float);
197  BPIXLayer_DiffFlippedNonFlipped_[i] = GlobalPoint(dummy_float, dummy_float, dummy_float);
198  }
199 
200  for (unsigned int i = 0; i < nPixelDiscs; i++) {
201  FPIXDisks_plus_[i] = GlobalPoint(dummy_float, dummy_float, dummy_float);
202  FPIXDisks_minus_[i] = GlobalPoint(dummy_float, dummy_float, dummy_float);
203  }
204 
205  vPIX_ = SimplePoint(PIX_);
206  vBPIX_ = SimplePoint(BPIX_);
207  vFPIX_ = SimplePoint(FPIX_);
208 
209  vBPIX_Flipped_ = SimplePoint(BPIX_Flipped_);
210  vBPIX_NonFlipped_ = SimplePoint(BPIX_NonFlipped_);
212 
213  vFPIX_plus_ = SimplePoint(FPIX_plus_);
214  vFPIX_minus_ = SimplePoint(FPIX_minus_);
215 
216  for (unsigned int i = 0; i < nPixelLayers; i++) {
217  vBPIXLayer_[i] = SimplePoint(BPIXLayer_[i]);
218  vBPIXLayer_Flipped_[i] = SimplePoint(BPIXLayer_Flipped_[i]);
221  }
222 
223  for (unsigned int i = 0; i < nPixelDiscs; i++) {
224  vFPIXDisks_plus_[i] = SimplePoint(FPIXDisks_plus_[i]);
225  vFPIXDisks_minus_[i] = SimplePoint(FPIXDisks_minus_[i]);
226  }
227 }
GlobalPoint BPIXLayer_Flipped_[nPixelLayers]
SimplePoint vFPIXDisks_minus_[nPixelDiscs]
static const unsigned int nPixelDiscs
SimplePoint vBPIXLayer_NonFlipped_[nPixelLayers]
SimplePoint vBPIXLayer_DiffFlippedNonFlipped_[nPixelLayers]
GlobalPoint BPIXLayer_DiffFlippedNonFlipped_[nPixelLayers]
GlobalPoint FPIXDisks_plus_[nPixelDiscs]
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
SimplePoint vBPIXLayer_Flipped_[nPixelLayers]
GlobalPoint BPIXLayer_[nPixelLayers]
GlobalPoint FPIXDisks_minus_[nPixelDiscs]
SimplePoint vFPIXDisks_plus_[nPixelDiscs]
SimplePoint vBPIXLayer_[nPixelLayers]
static const unsigned int nPixelLayers
GlobalPoint BPIXLayer_NonFlipped_[nPixelLayers]

◆ initBS()

void PixelBaryCentreAnalyzer::initBS ( )
private

Definition at line 171 of file PixelBaryCentreAnalyzer.cc.

References BS_, and vBS_.

Referenced by analyze().

171  {
172  double dummy_float = 999999.0;
173 
174  BS_ = GlobalPoint(dummy_float, dummy_float, dummy_float);
175  vBS_ = SimplePoint(BS_);
176 }
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10

Member Data Documentation

◆ bcLabels_

std::vector<std::string> PixelBaryCentreAnalyzer::bcLabels_
private

Definition at line 94 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), endJob(), and PixelBaryCentreAnalyzer().

◆ bcTrees_

std::map<std::string, TTree*> PixelBaryCentreAnalyzer::bcTrees_
private

Definition at line 139 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), endJob(), and PixelBaryCentreAnalyzer().

◆ BPIX_

GlobalPoint PixelBaryCentreAnalyzer::BPIX_
private

Definition at line 112 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ BPIX_DiffFlippedNonFlipped_

GlobalPoint PixelBaryCentreAnalyzer::BPIX_DiffFlippedNonFlipped_
private

Definition at line 113 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ BPIX_Flipped_

GlobalPoint PixelBaryCentreAnalyzer::BPIX_Flipped_
private

Definition at line 113 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ BPIX_NonFlipped_

GlobalPoint PixelBaryCentreAnalyzer::BPIX_NonFlipped_
private

Definition at line 113 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ BPIXLayer_

GlobalPoint PixelBaryCentreAnalyzer::BPIXLayer_[nPixelLayers]
private

Definition at line 115 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ BPIXLayer_DiffFlippedNonFlipped_

GlobalPoint PixelBaryCentreAnalyzer::BPIXLayer_DiffFlippedNonFlipped_[nPixelLayers]
private

Definition at line 118 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ BPIXLayer_Flipped_

GlobalPoint PixelBaryCentreAnalyzer::BPIXLayer_Flipped_[nPixelLayers]
private

Definition at line 116 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ BPIXLayer_NonFlipped_

GlobalPoint PixelBaryCentreAnalyzer::BPIXLayer_NonFlipped_[nPixelLayers]
private

Definition at line 117 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ BS_

GlobalPoint PixelBaryCentreAnalyzer::BS_
private

Definition at line 110 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBS().

◆ bsLabels_

std::vector<std::string> PixelBaryCentreAnalyzer::bsLabels_
private

Definition at line 96 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), endJob(), and PixelBaryCentreAnalyzer().

◆ bsTokens_

std::map<std::string, edm::ESGetToken<BeamSpotObjects, BeamSpotObjectsRcd> > PixelBaryCentreAnalyzer::bsTokens_
private

Definition at line 104 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and PixelBaryCentreAnalyzer().

◆ bsTrees_

std::map<std::string, TTree*> PixelBaryCentreAnalyzer::bsTrees_
private

Definition at line 140 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), endJob(), and PixelBaryCentreAnalyzer().

◆ FPIX_

GlobalPoint PixelBaryCentreAnalyzer::FPIX_
private

Definition at line 112 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ FPIX_minus_

GlobalPoint PixelBaryCentreAnalyzer::FPIX_minus_
private

Definition at line 120 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ FPIX_plus_

GlobalPoint PixelBaryCentreAnalyzer::FPIX_plus_
private

Definition at line 120 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ FPIXDisks_minus_

GlobalPoint PixelBaryCentreAnalyzer::FPIXDisks_minus_[nPixelDiscs]
private

Definition at line 122 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ FPIXDisks_plus_

GlobalPoint PixelBaryCentreAnalyzer::FPIXDisks_plus_[nPixelDiscs]
private

Definition at line 121 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ gprToken_

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

Definition at line 102 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze().

◆ ls_

int PixelBaryCentreAnalyzer::ls_
private

Definition at line 108 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ nPixelDiscs

const unsigned int PixelBaryCentreAnalyzer::nPixelDiscs = 3
static

Definition at line 76 of file PixelBaryCentreAnalyzer.cc.

Referenced by beginJob(), and initBC().

◆ nPixelLayers

const unsigned int PixelBaryCentreAnalyzer::nPixelLayers = 4
static

Definition at line 75 of file PixelBaryCentreAnalyzer.cc.

Referenced by beginJob(), and initBC().

◆ phase_

int PixelBaryCentreAnalyzer::phase_
private

Definition at line 87 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze().

◆ PIX_

GlobalPoint PixelBaryCentreAnalyzer::PIX_
private

Definition at line 112 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and initBC().

◆ run_

int PixelBaryCentreAnalyzer::run_
private

Definition at line 107 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ siPixelQualityToken_

const edm::ESGetToken<SiPixelQuality, SiPixelQualityFromDbRcd> PixelBaryCentreAnalyzer::siPixelQualityToken_
private

Definition at line 100 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze().

◆ tFileService

edm::Service<TFileService> PixelBaryCentreAnalyzer::tFileService
private

Definition at line 138 of file PixelBaryCentreAnalyzer.cc.

Referenced by beginJob().

◆ tkAlignTokens_

std::map<std::string, edm::ESGetToken<Alignments, TrackerAlignmentRcd> > PixelBaryCentreAnalyzer::tkAlignTokens_
private

Definition at line 103 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), and PixelBaryCentreAnalyzer().

◆ trackerGeometryToken_

const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> PixelBaryCentreAnalyzer::trackerGeometryToken_
private

Definition at line 98 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze().

◆ trackerTopologyToken_

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> PixelBaryCentreAnalyzer::trackerTopologyToken_
private

Definition at line 99 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze().

◆ usePixelQuality_

const bool PixelBaryCentreAnalyzer::usePixelQuality_
private

Definition at line 86 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze().

◆ vBPIX_

SimplePoint PixelBaryCentreAnalyzer::vBPIX_
private

Definition at line 126 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ vBPIX_DiffFlippedNonFlipped_

SimplePoint PixelBaryCentreAnalyzer::vBPIX_DiffFlippedNonFlipped_
private

Definition at line 127 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ vBPIX_Flipped_

SimplePoint PixelBaryCentreAnalyzer::vBPIX_Flipped_
private

Definition at line 127 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ vBPIX_NonFlipped_

SimplePoint PixelBaryCentreAnalyzer::vBPIX_NonFlipped_
private

Definition at line 127 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ vBPIXLayer_

SimplePoint PixelBaryCentreAnalyzer::vBPIXLayer_[nPixelLayers]
private

Definition at line 129 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ vBPIXLayer_DiffFlippedNonFlipped_

SimplePoint PixelBaryCentreAnalyzer::vBPIXLayer_DiffFlippedNonFlipped_[nPixelLayers]
private

Definition at line 132 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ vBPIXLayer_Flipped_

SimplePoint PixelBaryCentreAnalyzer::vBPIXLayer_Flipped_[nPixelLayers]
private

Definition at line 130 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ vBPIXLayer_NonFlipped_

SimplePoint PixelBaryCentreAnalyzer::vBPIXLayer_NonFlipped_[nPixelLayers]
private

Definition at line 131 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ vBS_

SimplePoint PixelBaryCentreAnalyzer::vBS_
private

Definition at line 124 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBS().

◆ vFPIX_

SimplePoint PixelBaryCentreAnalyzer::vFPIX_
private

Definition at line 126 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ vFPIX_minus_

SimplePoint PixelBaryCentreAnalyzer::vFPIX_minus_
private

Definition at line 134 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ vFPIX_plus_

SimplePoint PixelBaryCentreAnalyzer::vFPIX_plus_
private

Definition at line 134 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ vFPIXDisks_minus_

SimplePoint PixelBaryCentreAnalyzer::vFPIXDisks_minus_[nPixelDiscs]
private

Definition at line 136 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ vFPIXDisks_plus_

SimplePoint PixelBaryCentreAnalyzer::vFPIXDisks_plus_[nPixelDiscs]
private

Definition at line 135 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ vPIX_

SimplePoint PixelBaryCentreAnalyzer::vPIX_
private

Definition at line 126 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze(), beginJob(), and initBC().

◆ watcherBS_

edm::ESWatcher<BeamSpotObjectsRcd> PixelBaryCentreAnalyzer::watcherBS_
private

Definition at line 90 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze().

◆ watcherTkAlign_

edm::ESWatcher<TrackerAlignmentRcd> PixelBaryCentreAnalyzer::watcherTkAlign_
private

Definition at line 91 of file PixelBaryCentreAnalyzer.cc.

Referenced by analyze().