CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
SiPixelTrackResidualSource Class Reference

#include <SiPixelTrackResidualSource.h>

Inheritance diagram for SiPixelTrackResidualSource:
edm::EDAnalyzer

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void beginRun (const edm::Run &r, edm::EventSetup const &iSetup)
 
virtual void endJob (void)
 
 SiPixelTrackResidualSource (const edm::ParameterSet &)
 
 ~SiPixelTrackResidualSource ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Attributes

bool bladeOn
 
edm::InputTag clustersrc_
 
DQMStoredbe_
 
bool debug_
 
bool diskOn
 
bool firstRun
 
bool ladOn
 
bool layOn
 
MonitorElementmeClChargeNotOnTrack_all
 
MonitorElementmeClChargeNotOnTrack_bpix
 
MonitorElementmeClChargeNotOnTrack_diskm1
 
MonitorElementmeClChargeNotOnTrack_diskm2
 
MonitorElementmeClChargeNotOnTrack_diskp1
 
MonitorElementmeClChargeNotOnTrack_diskp2
 
MonitorElementmeClChargeNotOnTrack_fpix
 
MonitorElementmeClChargeNotOnTrack_layer1
 
MonitorElementmeClChargeNotOnTrack_layer2
 
MonitorElementmeClChargeNotOnTrack_layer3
 
MonitorElementmeClChargeOnTrack_all
 
MonitorElementmeClChargeOnTrack_bpix
 
MonitorElementmeClChargeOnTrack_diskm1
 
MonitorElementmeClChargeOnTrack_diskm2
 
MonitorElementmeClChargeOnTrack_diskp1
 
MonitorElementmeClChargeOnTrack_diskp2
 
MonitorElementmeClChargeOnTrack_fpix
 
MonitorElementmeClChargeOnTrack_layer1
 
MonitorElementmeClChargeOnTrack_layer2
 
MonitorElementmeClChargeOnTrack_layer3
 
MonitorElementmeClPosDisk1mzNotOnTrack
 
MonitorElementmeClPosDisk1mzOnTrack
 
MonitorElementmeClPosDisk1pzNotOnTrack
 
MonitorElementmeClPosDisk1pzOnTrack
 
MonitorElementmeClPosDisk2mzNotOnTrack
 
MonitorElementmeClPosDisk2mzOnTrack
 
MonitorElementmeClPosDisk2pzNotOnTrack
 
MonitorElementmeClPosDisk2pzOnTrack
 
MonitorElementmeClPosLayer1NotOnTrack
 
MonitorElementmeClPosLayer1OnTrack
 
MonitorElementmeClPosLayer2NotOnTrack
 
MonitorElementmeClPosLayer2OnTrack
 
MonitorElementmeClPosLayer3NotOnTrack
 
MonitorElementmeClPosLayer3OnTrack
 
MonitorElementmeClSizeNotOnTrack_all
 
MonitorElementmeClSizeNotOnTrack_bpix
 
MonitorElementmeClSizeNotOnTrack_diskm1
 
MonitorElementmeClSizeNotOnTrack_diskm2
 
MonitorElementmeClSizeNotOnTrack_diskp1
 
MonitorElementmeClSizeNotOnTrack_diskp2
 
MonitorElementmeClSizeNotOnTrack_fpix
 
MonitorElementmeClSizeNotOnTrack_layer1
 
MonitorElementmeClSizeNotOnTrack_layer2
 
MonitorElementmeClSizeNotOnTrack_layer3
 
MonitorElementmeClSizeOnTrack_all
 
MonitorElementmeClSizeOnTrack_bpix
 
MonitorElementmeClSizeOnTrack_diskm1
 
MonitorElementmeClSizeOnTrack_diskm2
 
MonitorElementmeClSizeOnTrack_diskp1
 
MonitorElementmeClSizeOnTrack_diskp2
 
MonitorElementmeClSizeOnTrack_fpix
 
MonitorElementmeClSizeOnTrack_layer1
 
MonitorElementmeClSizeOnTrack_layer2
 
MonitorElementmeClSizeOnTrack_layer3
 
MonitorElementmeClSizeXNotOnTrack_all
 
MonitorElementmeClSizeXNotOnTrack_bpix
 
MonitorElementmeClSizeXNotOnTrack_diskm1
 
MonitorElementmeClSizeXNotOnTrack_diskm2
 
MonitorElementmeClSizeXNotOnTrack_diskp1
 
MonitorElementmeClSizeXNotOnTrack_diskp2
 
MonitorElementmeClSizeXNotOnTrack_fpix
 
MonitorElementmeClSizeXNotOnTrack_layer1
 
MonitorElementmeClSizeXNotOnTrack_layer2
 
MonitorElementmeClSizeXNotOnTrack_layer3
 
MonitorElementmeClSizeXOnTrack_all
 
MonitorElementmeClSizeXOnTrack_bpix
 
MonitorElementmeClSizeXOnTrack_diskm1
 
MonitorElementmeClSizeXOnTrack_diskm2
 
MonitorElementmeClSizeXOnTrack_diskp1
 
MonitorElementmeClSizeXOnTrack_diskp2
 
MonitorElementmeClSizeXOnTrack_fpix
 
MonitorElementmeClSizeXOnTrack_layer1
 
MonitorElementmeClSizeXOnTrack_layer2
 
MonitorElementmeClSizeXOnTrack_layer3
 
MonitorElementmeClSizeYNotOnTrack_all
 
MonitorElementmeClSizeYNotOnTrack_bpix
 
MonitorElementmeClSizeYNotOnTrack_diskm1
 
MonitorElementmeClSizeYNotOnTrack_diskm2
 
MonitorElementmeClSizeYNotOnTrack_diskp1
 
MonitorElementmeClSizeYNotOnTrack_diskp2
 
MonitorElementmeClSizeYNotOnTrack_fpix
 
MonitorElementmeClSizeYNotOnTrack_layer1
 
MonitorElementmeClSizeYNotOnTrack_layer2
 
MonitorElementmeClSizeYNotOnTrack_layer3
 
MonitorElementmeClSizeYOnTrack_all
 
MonitorElementmeClSizeYOnTrack_bpix
 
MonitorElementmeClSizeYOnTrack_diskm1
 
MonitorElementmeClSizeYOnTrack_diskm2
 
MonitorElementmeClSizeYOnTrack_diskp1
 
MonitorElementmeClSizeYOnTrack_diskp2
 
MonitorElementmeClSizeYOnTrack_fpix
 
MonitorElementmeClSizeYOnTrack_layer1
 
MonitorElementmeClSizeYOnTrack_layer2
 
MonitorElementmeClSizeYOnTrack_layer3
 
MonitorElementmeHitProbability
 
MonitorElementmeNClustersNotOnTrack_all
 
MonitorElementmeNClustersNotOnTrack_bpix
 
MonitorElementmeNClustersNotOnTrack_diskm1
 
MonitorElementmeNClustersNotOnTrack_diskm2
 
MonitorElementmeNClustersNotOnTrack_diskp1
 
MonitorElementmeNClustersNotOnTrack_diskp2
 
MonitorElementmeNClustersNotOnTrack_fpix
 
MonitorElementmeNClustersNotOnTrack_layer1
 
MonitorElementmeNClustersNotOnTrack_layer2
 
MonitorElementmeNClustersNotOnTrack_layer3
 
MonitorElementmeNClustersOnTrack_all
 
MonitorElementmeNClustersOnTrack_bpix
 
MonitorElementmeNClustersOnTrack_diskm1
 
MonitorElementmeNClustersOnTrack_diskm2
 
MonitorElementmeNClustersOnTrack_diskp1
 
MonitorElementmeNClustersOnTrack_diskp2
 
MonitorElementmeNClustersOnTrack_fpix
 
MonitorElementmeNClustersOnTrack_layer1
 
MonitorElementmeNClustersOnTrack_layer2
 
MonitorElementmeNClustersOnTrack_layer3
 
MonitorElementmeNofClustersNotOnTrack_
 
MonitorElementmeNofClustersOnTrack_
 
MonitorElementmeNofTracks_
 
MonitorElementmeNofTracksInPixVol_
 
MonitorElementmeSubdetResidualX [3]
 
MonitorElementmeSubdetResidualY [3]
 
bool modOn
 
int NLowProb
 
int NTotal
 
bool phiOn
 
edm::ParameterSet pSet_
 
bool reducedSet
 
bool ringOn
 
edm::InputTag src_
 
std::map< uint32_t,
SiPixelTrackResidualModule * > 
theSiPixelStructure
 
edm::InputTag tracksrc_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

Definition at line 41 of file SiPixelTrackResidualSource.h.

Constructor & Destructor Documentation

SiPixelTrackResidualSource::SiPixelTrackResidualSource ( const edm::ParameterSet pSet)
explicit

Definition at line 54 of file SiPixelTrackResidualSource.cc.

References bladeOn, clustersrc_, dbe_, debug_, diskOn, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), ladOn, layOn, modOn, cmsCodeRules.cppFunctionSkipper::operator, phiOn, pSet_, ringOn, src_, and tracksrc_.

54  :
55  pSet_(pSet),
56  modOn( pSet.getUntrackedParameter<bool>("modOn",true) ),
57  reducedSet( pSet.getUntrackedParameter<bool>("reducedSet",true) ),
58  ladOn( pSet.getUntrackedParameter<bool>("ladOn",false) ),
59  layOn( pSet.getUntrackedParameter<bool>("layOn",false) ),
60  phiOn( pSet.getUntrackedParameter<bool>("phiOn",false) ),
61  ringOn( pSet.getUntrackedParameter<bool>("ringOn",false) ),
62  bladeOn( pSet.getUntrackedParameter<bool>("bladeOn",false) ),
63  diskOn( pSet.getUntrackedParameter<bool>("diskOn",false) )
64  {
65  pSet_ = pSet;
66  debug_ = pSet_.getUntrackedParameter<bool>("debug", false);
69  tracksrc_ = pSet_.getParameter<edm::InputTag>("trajectoryInput");
71 
72  LogInfo("PixelDQM") << "SiPixelTrackResidualSource constructor" << endl;
73  LogInfo ("PixelDQM") << "Mod/Lad/Lay/Phi " << modOn << "/" << ladOn << "/"
74  << layOn << "/" << phiOn << std::endl;
75  LogInfo ("PixelDQM") << "Blade/Disk/Ring" << bladeOn << "/" << diskOn << "/"
76  << ringOn << std::endl;
77 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
SiPixelTrackResidualSource::~SiPixelTrackResidualSource ( )

Definition at line 80 of file SiPixelTrackResidualSource.cc.

References theSiPixelStructure.

80  {
81  LogInfo("PixelDQM") << "SiPixelTrackResidualSource destructor" << endl;
82 
83  std::map<uint32_t,SiPixelTrackResidualModule*>::iterator struct_iter;
84  for (struct_iter = theSiPixelStructure.begin() ; struct_iter != theSiPixelStructure.end() ; struct_iter++){
85  delete struct_iter->second;
86  struct_iter->second = 0;
87  }
88 }
std::map< uint32_t, SiPixelTrackResidualModule * > theSiPixelStructure

Member Function Documentation

void SiPixelTrackResidualSource::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 502 of file SiPixelTrackResidualSource.cc.

References abs, Reference_intrackfit_cff::barrel, edm::AssociationMap< Tag >::begin(), edmNew::DetSetVector< T >::begin(), bladeOn, TransientTrackingRecHitBuilder::build(), SiPixelRecHit::clusterProbability(), clustersrc_, TrajectoryStateCombiner::combine(), GeomDet::components(), gather_cfg::cout, debug_cff::d0, debug_, PTrajectoryStateOnDet::detId(), PixelEndcapName::diskName(), diskOn, edm::AssociationMap< Tag >::end(), edmNew::DetSetVector< T >::end(), Reference_intrackfit_cff::endcap, MonitorElement::Fill(), HcalObjRepresent::Fill(), edmNew::DetSetVector< T >::find(), TrajectoryFitter::fit(), RSFinalFitAnalytical_cff::Fitter, edm::EventSetup::get(), edm::Event::getByLabel(), edm::ParameterSet::getParameter(), SiPixelRecHit::hasFilledProb(), TrackerGeometry::idToDet(), edm::Ref< C, T, F >::isNonnull(), TrajectoryStateOnSurface::isValid(), edm::Ref< C, T, F >::key(), ladOn, PixelBarrelName::layerName(), layOn, TrajectoryStateOnSurface::localParameters(), Topology::localPosition(), TrajectoryStateOnSurface::localPosition(), PV3DBase< T, PVType, FrameType >::mag(), match(), Topology::measurementPosition(), Trajectory::measurements(), meClChargeNotOnTrack_all, meClChargeNotOnTrack_bpix, meClChargeNotOnTrack_diskm1, meClChargeNotOnTrack_diskm2, meClChargeNotOnTrack_diskp1, meClChargeNotOnTrack_diskp2, meClChargeNotOnTrack_fpix, meClChargeNotOnTrack_layer1, meClChargeNotOnTrack_layer2, meClChargeNotOnTrack_layer3, meClChargeOnTrack_all, meClChargeOnTrack_bpix, meClChargeOnTrack_diskm1, meClChargeOnTrack_diskm2, meClChargeOnTrack_diskp1, meClChargeOnTrack_diskp2, meClChargeOnTrack_fpix, meClChargeOnTrack_layer1, meClChargeOnTrack_layer2, meClChargeOnTrack_layer3, meClPosDisk1mzNotOnTrack, meClPosDisk1mzOnTrack, meClPosDisk1pzNotOnTrack, meClPosDisk1pzOnTrack, meClPosDisk2mzNotOnTrack, meClPosDisk2mzOnTrack, meClPosDisk2pzNotOnTrack, meClPosDisk2pzOnTrack, meClPosLayer1NotOnTrack, meClPosLayer1OnTrack, meClPosLayer2NotOnTrack, meClPosLayer2OnTrack, meClPosLayer3NotOnTrack, meClPosLayer3OnTrack, meClSizeNotOnTrack_all, meClSizeNotOnTrack_bpix, meClSizeNotOnTrack_diskm1, meClSizeNotOnTrack_diskm2, meClSizeNotOnTrack_diskp1, meClSizeNotOnTrack_diskp2, meClSizeNotOnTrack_fpix, meClSizeNotOnTrack_layer1, meClSizeNotOnTrack_layer2, meClSizeNotOnTrack_layer3, meClSizeOnTrack_all, meClSizeOnTrack_bpix, meClSizeOnTrack_diskm1, meClSizeOnTrack_diskm2, meClSizeOnTrack_diskp1, meClSizeOnTrack_diskp2, meClSizeOnTrack_fpix, meClSizeOnTrack_layer1, meClSizeOnTrack_layer2, meClSizeOnTrack_layer3, meClSizeXNotOnTrack_all, meClSizeXNotOnTrack_bpix, meClSizeXNotOnTrack_diskm1, meClSizeXNotOnTrack_diskm2, meClSizeXNotOnTrack_diskp1, meClSizeXNotOnTrack_diskp2, meClSizeXNotOnTrack_fpix, meClSizeXNotOnTrack_layer1, meClSizeXNotOnTrack_layer2, meClSizeXNotOnTrack_layer3, meClSizeXOnTrack_all, meClSizeXOnTrack_bpix, meClSizeXOnTrack_diskm1, meClSizeXOnTrack_diskm2, meClSizeXOnTrack_diskp1, meClSizeXOnTrack_diskp2, meClSizeXOnTrack_fpix, meClSizeXOnTrack_layer1, meClSizeXOnTrack_layer2, meClSizeXOnTrack_layer3, meClSizeYNotOnTrack_all, meClSizeYNotOnTrack_bpix, meClSizeYNotOnTrack_diskm1, meClSizeYNotOnTrack_diskm2, meClSizeYNotOnTrack_diskp1, meClSizeYNotOnTrack_diskp2, meClSizeYNotOnTrack_fpix, meClSizeYNotOnTrack_layer1, meClSizeYNotOnTrack_layer2, meClSizeYNotOnTrack_layer3, meClSizeYOnTrack_all, meClSizeYOnTrack_bpix, meClSizeYOnTrack_diskm1, meClSizeYOnTrack_diskm2, meClSizeYOnTrack_diskp1, meClSizeYOnTrack_diskp2, meClSizeYOnTrack_fpix, meClSizeYOnTrack_layer1, meClSizeYOnTrack_layer2, meClSizeYOnTrack_layer3, meHitProbability, meNClustersNotOnTrack_all, meNClustersNotOnTrack_bpix, meNClustersNotOnTrack_diskm1, meNClustersNotOnTrack_diskm2, meNClustersNotOnTrack_diskp1, meNClustersNotOnTrack_diskp2, meNClustersNotOnTrack_fpix, meNClustersNotOnTrack_layer1, meNClustersNotOnTrack_layer2, meNClustersNotOnTrack_layer3, meNClustersOnTrack_all, meNClustersOnTrack_bpix, meNClustersOnTrack_diskm1, meNClustersOnTrack_diskm2, meNClustersOnTrack_diskp1, meNClustersOnTrack_diskp2, meNClustersOnTrack_fpix, meNClustersOnTrack_layer1, meNClustersOnTrack_layer2, meNClustersOnTrack_layer3, meNofClustersNotOnTrack_, meNofClustersOnTrack_, meNofTracks_, meNofTracksInPixVol_, meSubdetResidualX, meSubdetResidualY, modOn, LocalTrajectoryParameters::momentum(), NLowProb, NTotal, phi, PV3DBase< T, PVType, FrameType >::phi(), phiOn, GeomDetEnumerators::PixelBarrel, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, GeomDetEnumerators::PixelEndcap, funct::pow(), edm::Handle< T >::product(), edm::ESHandle< class >::product(), pSet_, TrajectorySeed::recHits(), reducedSet, ringOn, edm::AssociationMap< Tag >::size(), edmNew::DetSetVector< T >::size(), PixelGeomDetUnit::specificTopology(), mathSSE::sqrt(), GeomDet::subDetector(), DetId::subdetId(), GeomDet::surface(), funct::tan(), cond::rpcobtemp::temp, theSiPixelStructure, Surface::toGlobal(), GeomDetUnit::topology(), DetId::Tracker, testEve_cfg::tracks, tracksrc_, TrajectoryStateTransform::transientState(), RSFinalFitAnalytical_cff::TTRHBuilder, x, PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), detailsBasic3DVector::y, PV2DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::y(), detailsBasic3DVector::z, and PV3DBase< T, PVType, FrameType >::z().

502  {
503 
504  // retrieve TrackerGeometry again and MagneticField for use in transforming
505  // a TrackCandidate's P(ersistent)TrajectoryStateoOnDet (PTSoD) to a TrajectoryStateOnSurface (TSoS)
507  iSetup.get<TrackerDigiGeometryRecord>().get(TG);
508  const TrackerGeometry* theTrackerGeometry = TG.product();
510  iSetup.get<IdealMagneticFieldRecord>().get(MF);
511  const MagneticField* theMagneticField = MF.product();
512 
513  // retrieve TransientTrackingRecHitBuilder to build TTRHs with TrackCandidate's TrackingRecHits for refitting
514  std::string TTRHBuilder = pSet_.getParameter<std::string>("TTRHBuilder");
516  iSetup.get<TransientRecHitRecord>().get(TTRHBuilder, TTRHB);
517  const TransientTrackingRecHitBuilder* theTTRHBuilder = TTRHB.product();
518 
519  // get a fitter to refit TrackCandidates, the same fitter as used in standard reconstruction
520  std::string Fitter = pSet_.getParameter<std::string>("Fitter");
522  iSetup.get<TrajectoryFitter::Record>().get(Fitter, TF);
523  const TrajectoryFitter* theFitter = TF.product();
524 
525  // get TrackCandidateCollection in accordance with the fitter, i.e. rs-RS, ckf-KF...
526  std::string TrackCandidateLabel = pSet_.getParameter<std::string>("TrackCandidateLabel");
527  std::string TrackCandidateProducer = pSet_.getParameter<std::string>("TrackCandidateProducer");
528  Handle<TrackCandidateCollection> trackCandidateCollection;
529  iEvent.getByLabel(TrackCandidateProducer, TrackCandidateLabel, trackCandidateCollection);
530 
531  for (TrackCandidateCollection::const_iterator tc = trackCandidateCollection->begin();
532  tc!=trackCandidateCollection->end(); ++tc) {
533  TrajectoryStateTransform transformer;
534  PTrajectoryStateOnDet tcPTSoD = tc->trajectoryStateOnDet();
535  TrajectoryStateOnSurface tcTSoS = transformer.transientState(tcPTSoD, &(theTrackerGeometry->idToDet(tcPTSoD.detId())->surface()),
536  theMagneticField);
537  const TrajectorySeed& tcSeed = tc->seed();
538 
539  const TrackCandidate::range& tcRecHits = tc->recHits();
540  if (debug_) cout << "track candidate has "<< int(tcRecHits.second - tcRecHits.first) <<" hits with ID ";
541 
543  for (TrackingRecHitCollection::const_iterator tcRecHit = tcRecHits.first;
544  tcRecHit!=tcRecHits.second; ++tcRecHit) {
545  if (debug_) cout << tcRecHit->geographicalId().rawId() <<" ";
546 
547  tcTTRHs.push_back(theTTRHBuilder->build(&(*tcRecHit)));
548  }
549  // note a TrackCandidate keeps only the PTSoD of the first hit as well as the seed and all the hits;
550  // to 99.9%-recover all the hit's TSoS's, refit with the seed, the hits and an initial TSoS from the PTSoD
551  // to get a Trajectory of all the hit's TrajectoryMeasurements (TMs)
552  std::vector<Trajectory> refitTrajectoryCollection = theFitter->fit(tcSeed, tcTTRHs, tcTSoS);
553  if (debug_) cout << "refitTrajectoryCollection size is "<< refitTrajectoryCollection.size() << endl;
554 
555  if (refitTrajectoryCollection.size()>0) { // should be either 0 or 1
556  const Trajectory& refitTrajectory = refitTrajectoryCollection.front();
557 
558  // retrieve and loop over all the TMs
559  Trajectory::DataContainer refitTMs = refitTrajectory.measurements();
560  if (debug_) cout << "refitTrajectory has "<< refitTMs.size() <<" hits with ID ";
561 
562  for (Trajectory::DataContainer::iterator refitTM = refitTMs.begin();
563  refitTM!=refitTMs.end(); refitTM++) {
564  TransientTrackingRecHit::ConstRecHitPointer refitTTRH = refitTM->recHit();
565  if (debug_) cout << refitTTRH->geographicalId().rawId() <<" ";
566 
567  // only analyze the most elemental pixel hit's TMs to calculate residuals
568  const GeomDet* ttrhDet = refitTTRH->det();
569  if (ttrhDet->components().empty() && (ttrhDet->subDetector()==GeomDetEnumerators::PixelBarrel ||
571 
572  // combine the forward and backward states without using the hit's information (hence unbiased by the hit);
573  // the TM's updated state keeps the state combined and updated with the hit's info but we don't use the updated state at all
574  TrajectoryStateOnSurface combinedTSoS = TrajectoryStateCombiner().combine(refitTM->forwardPredictedState(),
575  refitTM->backwardPredictedState());
576  if (refitTTRH->isValid() && combinedTSoS.isValid()) {
577  // calculate the distance between the hit location and the track-crossing point predicted by the combined state
578  const GeomDetUnit* GDU = static_cast<const GeomDetUnit*>(ttrhDet);
579  const Topology* theTopology = &(GDU->topology());
580 
581  MeasurementPoint hitPosition = theTopology->measurementPosition(refitTTRH->localPosition());
582  MeasurementPoint combinedTSoSPosition = theTopology->measurementPosition(combinedTSoS.localPosition());
583 
584  Measurement2DVector residual = hitPosition - combinedTSoSPosition;
585  if(debug_) std::cout << "fill residual " << residual.x() << " " << residual.y() << " \n";
586 
587  // fill the residual histograms
588  std::map<uint32_t, SiPixelTrackResidualModule*>::iterator pxd = theSiPixelStructure.find(refitTTRH->geographicalId().rawId());
589  if (pxd!=theSiPixelStructure.end()) (*pxd).second->fill(residual, reducedSet, modOn, ladOn, layOn, phiOn, bladeOn, diskOn, ringOn);
590 
591  if (debug_) {
592  if (ttrhDet->subDetector()==GeomDetEnumerators::PixelBarrel) {
593  meSubdetResidualX[0]->Fill(residual.x());
594  meSubdetResidualY[0]->Fill(residual.y());
595  }
596  else {
597  meSubdetResidualX[PXFDetId(refitTTRH->geographicalId()).side()]->Fill(residual.x());
598  meSubdetResidualY[PXFDetId(refitTTRH->geographicalId()).side()]->Fill(residual.y());
599  }
600  }
601  }
602  }
603  }
604  if (debug_) cout << endl;
605  }
606  }
607 
608 
609  //get trajectories
610  edm::Handle<std::vector<Trajectory> > trajCollectionHandle;
611  iEvent.getByLabel(tracksrc_,trajCollectionHandle);
612  const std::vector<Trajectory> trajColl = *(trajCollectionHandle.product());
613 
614  //get tracks
615  edm::Handle<std::vector<reco::Track> > trackCollectionHandle;
616  iEvent.getByLabel(tracksrc_,trackCollectionHandle);
617  const std::vector<reco::Track> trackColl = *(trackCollectionHandle.product());
618 
619  //get the map
621  iEvent.getByLabel(tracksrc_,match);
622  const TrajTrackAssociationCollection ttac = *(match.product());
623 
624  // get clusters
626  iEvent.getByLabel( clustersrc_, clusterColl );
627  const edmNew::DetSetVector<SiPixelCluster> clustColl = *(clusterColl.product());
628 
629  if(debug_){
630  std::cout << "Trajectories\t : " << trajColl.size() << std::endl;
631  std::cout << "recoTracks \t : " << trackColl.size() << std::endl;
632  std::cout << "Map entries \t : " << ttac.size() << std::endl;
633  }
634 
635  std::set<SiPixelCluster> clusterSet;
636  TrajectoryStateCombiner tsoscomb;
637  int tracks=0, pixeltracks=0, bpixtracks=0, fpixtracks=0;
638  int trackclusters=0, barreltrackclusters=0, endcaptrackclusters=0;
639  int otherclusters=0, barrelotherclusters=0, endcapotherclusters=0;
640 
641  //Loop over map entries
642  for(TrajTrackAssociationCollection::const_iterator it = ttac.begin();it != ttac.end(); ++it){
643  const edm::Ref<std::vector<Trajectory> > traj_iterator = it->key;
644  // Trajectory Map, extract Trajectory for this track
645  reco::TrackRef trackref = it->val;
646  tracks++;
647 
648  bool isBpixtrack = false, isFpixtrack = false, crossesPixVol=false;
649 
650  //find out whether track crosses pixel fiducial volume (for cosmic tracks)
651 
652  double d0 = (*trackref).d0(), dz = (*trackref).dz();
653 
654  if(abs(d0)<15 && abs(dz)<50) crossesPixVol = true;
655 
656  std::vector<TrajectoryMeasurement> tmeasColl =traj_iterator->measurements();
657  std::vector<TrajectoryMeasurement>::const_iterator tmeasIt;
658  //loop on measurements to find out whether there are bpix and/or fpix hits
659  for(tmeasIt = tmeasColl.begin();tmeasIt!=tmeasColl.end();tmeasIt++){
660  if(! tmeasIt->updatedState().isValid()) continue;
661  TransientTrackingRecHit::ConstRecHitPointer testhit = tmeasIt->recHit();
662  if(! testhit->isValid() || testhit->geographicalId().det() != DetId::Tracker) continue;
663  uint testSubDetID = (testhit->geographicalId().subdetId());
664  if(testSubDetID==PixelSubdetector::PixelBarrel) isBpixtrack = true;
665  if(testSubDetID==PixelSubdetector::PixelEndcap) isFpixtrack = true;
666  }//end loop on measurements
667  if(isBpixtrack) {
668  bpixtracks++;
669  if(debug_) std::cout << "bpixtrack\n";
670  }
671  if(isFpixtrack) {
672  fpixtracks++;
673  if(debug_) std::cout << "fpixtrack\n";
674  }
675  if(isBpixtrack || isFpixtrack){
676  pixeltracks++;
677 
678  if(crossesPixVol) meNofTracksInPixVol_->Fill(0,1);
679 
680  std::vector<TrajectoryMeasurement> tmeasColl = traj_iterator->measurements();
681  for(std::vector<TrajectoryMeasurement>::const_iterator tmeasIt = tmeasColl.begin(); tmeasIt!=tmeasColl.end(); tmeasIt++){
682  if(! tmeasIt->updatedState().isValid()) continue;
683 
684  TrajectoryStateOnSurface tsos = tsoscomb( tmeasIt->forwardPredictedState(), tmeasIt->backwardPredictedState() );
686  if(! hit->isValid() || hit->geographicalId().det() != DetId::Tracker ) {
687  continue;
688  } else {
689 
690 // //residual
691  const DetId & hit_detId = hit->geographicalId();
692  //uint IntRawDetID = (hit_detId.rawId());
693  uint IntSubDetID = (hit_detId.subdetId());
694 
695  if(IntSubDetID == 0 ) continue; // don't look at SiStrip hits!
696 
697  // get the enclosed persistent hit
698  const TrackingRecHit *persistentHit = hit->hit();
699  // check if it's not null, and if it's a valid pixel hit
700  if ((persistentHit != 0) && (typeid(*persistentHit) == typeid(SiPixelRecHit))) {
701  // tell the C++ compiler that the hit is a pixel hit
702  const SiPixelRecHit* pixhit = static_cast<const SiPixelRecHit*>( hit->hit() );
703  //Hit probability:
704  float hit_prob = -1.;
705  if(pixhit->hasFilledProb()){
706  hit_prob = pixhit->clusterProbability(0);
707  //std::cout<<"HITPROB= "<<hit_prob<<std::endl;
708  if(hit_prob<pow(10.,-15.)) NLowProb++;
709  NTotal++;
710  if(NTotal>0) meHitProbability->Fill(float(NLowProb/NTotal));
711  }
712 
713  // get the edm::Ref to the cluster
714  edm::Ref<edmNew::DetSetVector<SiPixelCluster>, SiPixelCluster> const& clust = (*pixhit).cluster();
715  // check if the ref is not null
716  if (clust.isNonnull()) {
717 
718  //define tracker and pixel geometry and topology
719  const TrackerGeometry& theTracker(*theTrackerGeometry);
720  const PixelGeomDetUnit* theGeomDet = static_cast<const PixelGeomDetUnit*> (theTracker.idToDet(hit_detId) );
721  //test if PixelGeomDetUnit exists
722  if(theGeomDet == 0) {
723  if(debug_) std::cout << "NO THEGEOMDET\n";
724  continue;
725  }
726 
727  const PixelTopology * topol = &(theGeomDet->specificTopology());
728  //fill histograms for clusters on tracks
729  //correct SiPixelTrackResidualModule
730  std::map<uint32_t, SiPixelTrackResidualModule*>::iterator pxd = theSiPixelStructure.find((*hit).geographicalId().rawId());
731 
732  //CHARGE CORRECTION (for track impact angle)
733  // calculate alpha and beta from cluster position
735  LocalVector localDir = ltp.momentum()/ltp.momentum().mag();
736 
737  float clust_alpha = atan2(localDir.z(), localDir.x());
738  float clust_beta = atan2(localDir.z(), localDir.y());
739  double corrCharge = clust->charge() * sqrt( 1.0 / ( 1.0/pow( tan(clust_alpha), 2 ) +
740  1.0/pow( tan(clust_beta ), 2 ) +
741  1.0 )
742  )/1000.;
743 
744  if (pxd!=theSiPixelStructure.end()) (*pxd).second->fill((*clust), true, corrCharge, reducedSet, modOn, ladOn, layOn, phiOn, bladeOn, diskOn, ringOn);
745 
746 
747  trackclusters++;
748  //CORR CHARGE
749  meClChargeOnTrack_all->Fill(corrCharge);
750  meClSizeOnTrack_all->Fill((*clust).size());
751  meClSizeXOnTrack_all->Fill((*clust).sizeX());
752  meClSizeYOnTrack_all->Fill((*clust).sizeY());
753  clusterSet.insert(*clust);
754 
755  //find cluster global position (rphi, z)
756  // get cluster center of gravity (of charge)
757  float xcenter = clust->x();
758  float ycenter = clust->y();
759  // get the cluster position in local coordinates (cm)
760  LocalPoint clustlp = topol->localPosition( MeasurementPoint(xcenter, ycenter) );
761  // get the cluster position in global coordinates (cm)
762  GlobalPoint clustgp = theGeomDet->surface().toGlobal( clustlp );
763 
764  //find location of hit (barrel or endcap, same for cluster)
765  bool barrel = DetId((*hit).geographicalId()).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
766  bool endcap = DetId((*hit).geographicalId()).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
767  if(barrel) {
768  barreltrackclusters++;
769  //CORR CHARGE
770  meClChargeOnTrack_bpix->Fill(corrCharge);
771  meClSizeOnTrack_bpix->Fill((*clust).size());
772  meClSizeXOnTrack_bpix->Fill((*clust).sizeX());
773  meClSizeYOnTrack_bpix->Fill((*clust).sizeY());
774  uint32_t DBlayer = PixelBarrelName(DetId((*hit).geographicalId())).layerName();
775  float phi = clustgp.phi();
776  float z = clustgp.z();
777  switch(DBlayer){
778  case 1: {
779  meClPosLayer1OnTrack->Fill(z,phi);
780  meClChargeOnTrack_layer1->Fill(corrCharge);
781  meClSizeOnTrack_layer1->Fill((*clust).size());
782  meClSizeXOnTrack_layer1->Fill((*clust).sizeX());
783  meClSizeYOnTrack_layer1->Fill((*clust).sizeY());
784  break;
785  }
786  case 2: {
787  meClPosLayer2OnTrack->Fill(z,phi);
788  meClChargeOnTrack_layer2->Fill(corrCharge);
789  meClSizeOnTrack_layer2->Fill((*clust).size());
790  meClSizeXOnTrack_layer2->Fill((*clust).sizeX());
791  meClSizeYOnTrack_layer2->Fill((*clust).sizeY());
792  break;
793  }
794  case 3: {
795  meClPosLayer3OnTrack->Fill(z,phi);
796  meClChargeOnTrack_layer3->Fill(corrCharge);
797  meClSizeOnTrack_layer3->Fill((*clust).size());
798  meClSizeXOnTrack_layer3->Fill((*clust).sizeX());
799  meClSizeYOnTrack_layer3->Fill((*clust).sizeY());
800  break;
801  }
802 
803  }
804 
805  }
806  if(endcap) {
807  endcaptrackclusters++;
808  //CORR CHARGE
809  meClChargeOnTrack_fpix->Fill(corrCharge);
810  meClSizeOnTrack_fpix->Fill((*clust).size());
811  meClSizeXOnTrack_fpix->Fill((*clust).sizeX());
812  meClSizeYOnTrack_fpix->Fill((*clust).sizeY());
813  uint32_t DBdisk = PixelEndcapName(DetId((*hit).geographicalId())).diskName();
814  float x = clustgp.x();
815  float y = clustgp.y();
816  float z = clustgp.z();
817  if(z>0){
818  if(DBdisk==1) {
820  meClChargeOnTrack_diskp1->Fill(corrCharge);
821  meClSizeOnTrack_diskp1->Fill((*clust).size());
822  meClSizeXOnTrack_diskp1->Fill((*clust).sizeX());
823  meClSizeYOnTrack_diskp1->Fill((*clust).sizeY());
824  }
825  if(DBdisk==2) {
827  meClChargeOnTrack_diskp2->Fill(corrCharge);
828  meClSizeOnTrack_diskp2->Fill((*clust).size());
829  meClSizeXOnTrack_diskp2->Fill((*clust).sizeX());
830  meClSizeYOnTrack_diskp2->Fill((*clust).sizeY());
831  }
832  }
833  else{
834  if(DBdisk==1) {
836  meClChargeOnTrack_diskm1->Fill(corrCharge);
837  meClSizeOnTrack_diskm1->Fill((*clust).size());
838  meClSizeXOnTrack_diskm1->Fill((*clust).sizeX());
839  meClSizeYOnTrack_diskm1->Fill((*clust).sizeY());
840  }
841  if(DBdisk==2) {
843  meClChargeOnTrack_diskm2->Fill(corrCharge);
844  meClSizeOnTrack_diskm2->Fill((*clust).size());
845  meClSizeXOnTrack_diskm2->Fill((*clust).sizeX());
846  meClSizeYOnTrack_diskm2->Fill((*clust).sizeY());
847  }
848  }
849  }
850 
851  }//end if (cluster exists)
852 
853  }//end if (persistent hit exists and is pixel hit)
854 
855  }//end of else
856 
857 
858  }//end for (all traj measurements of pixeltrack)
859  }//end if (is pixeltrack)
860  else {
861  if(debug_) std::cout << "no pixeltrack:\n";
862  if(crossesPixVol) meNofTracksInPixVol_->Fill(1,1);
863  }
864 
865  }//end loop on map entries
866 
867  //find clusters that are NOT on track
868  //edmNew::DetSet<SiPixelCluster>::const_iterator di;
869  if(debug_) std::cout << "clusters not on track: (size " << clustColl.size() << ") ";
870 
871  for(TrackerGeometry::DetContainer::const_iterator it = TG->dets().begin(); it != TG->dets().end(); it++){
872  //if(dynamic_cast<PixelGeomDetUnit*>((*it))!=0){
873  DetId detId = (*it)->geographicalId();
874  if(detId>=302055684 && detId<=352477708){ // make sure it's a Pixel module WITHOUT using dynamic_cast!
875  int nofclOnTrack = 0, nofclOffTrack=0;
876  uint32_t DBlayer=10, DBdisk=10;
877  float z=0.;
878  //set layer/disk
879  if(DetId(detId).subdetId() == 1) { // Barrel module
880  DBlayer = PixelBarrelName(DetId(detId)).layerName();
881  }
882  if(DetId(detId).subdetId() == 2){ // Endcap module
883  DBdisk = PixelEndcapName(DetId(detId )).diskName();
884  }
886  if( isearch != clustColl.end() ) { // Not an empty iterator
888  for(di=isearch->begin(); di!=isearch->end(); di++){
889  unsigned int temp = clusterSet.size();
890  clusterSet.insert(*di);
891  //check if cluster is off track
892  if(clusterSet.size()>temp) {
893  otherclusters++;
894  nofclOffTrack++;
895  //fill histograms for clusters off tracks
896  //correct SiPixelTrackResidualModule
897  std::map<uint32_t, SiPixelTrackResidualModule*>::iterator pxd = theSiPixelStructure.find((*it)->geographicalId().rawId());
898 
899  if (pxd!=theSiPixelStructure.end()) (*pxd).second->fill((*di), false, -1., reducedSet, modOn, ladOn, layOn, phiOn, bladeOn, diskOn, ringOn);
900 
901 
902 
903  meClSizeNotOnTrack_all->Fill((*di).size());
904  meClSizeXNotOnTrack_all->Fill((*di).sizeX());
905  meClSizeYNotOnTrack_all->Fill((*di).sizeY());
906  meClChargeNotOnTrack_all->Fill((*di).charge()/1000);
907 
909  //find cluster global position (rphi, z) get cluster
910  //define tracker and pixel geometry and topology
911  const TrackerGeometry& theTracker(*theTrackerGeometry);
912  const PixelGeomDetUnit* theGeomDet = static_cast<const PixelGeomDetUnit*> (theTracker.idToDet(detId) );
913  //test if PixelGeomDetUnit exists
914  if(theGeomDet == 0) {
915  if(debug_) std::cout << "NO THEGEOMDET\n";
916  continue;
917  }
918  const PixelTopology * topol = &(theGeomDet->specificTopology());
919 
920  //center of gravity (of charge)
921  float xcenter = di->x();
922  float ycenter = di->y();
923  // get the cluster position in local coordinates (cm)
924  LocalPoint clustlp = topol->localPosition( MeasurementPoint(xcenter, ycenter) );
925  // get the cluster position in global coordinates (cm)
926  GlobalPoint clustgp = theGeomDet->surface().toGlobal( clustlp );
927 
929 
930  //barrel
931  if(DetId(detId).subdetId() == 1) {
932  meClSizeNotOnTrack_bpix->Fill((*di).size());
933  meClSizeXNotOnTrack_bpix->Fill((*di).sizeX());
934  meClSizeYNotOnTrack_bpix->Fill((*di).sizeY());
935  meClChargeNotOnTrack_bpix->Fill((*di).charge()/1000);
936  barrelotherclusters++;
937  //DBlayer = PixelBarrelName(DetId(detId)).layerName();
938  float phi = clustgp.phi();
939  //float r = clustgp.perp();
940  z = clustgp.z();
941  switch(DBlayer){
942  case 1: {
943  meClPosLayer1NotOnTrack->Fill(z,phi);
944  meClSizeNotOnTrack_layer1->Fill((*di).size());
945  meClSizeXNotOnTrack_layer1->Fill((*di).sizeX());
946  meClSizeYNotOnTrack_layer1->Fill((*di).sizeY());
947  meClChargeNotOnTrack_layer1->Fill((*di).charge()/1000);
948  break;
949  }
950  case 2: {
952  meClSizeNotOnTrack_layer2->Fill((*di).size());
953  meClSizeXNotOnTrack_layer2->Fill((*di).sizeX());
954  meClSizeYNotOnTrack_layer2->Fill((*di).sizeY());
955  meClChargeNotOnTrack_layer2->Fill((*di).charge()/1000);
956  break;
957  }
958  case 3: {
959  meClPosLayer3NotOnTrack->Fill(z,phi);
960  meClSizeNotOnTrack_layer3->Fill((*di).size());
961  meClSizeXNotOnTrack_layer3->Fill((*di).sizeX());
962  meClSizeYNotOnTrack_layer3->Fill((*di).sizeY());
963  meClChargeNotOnTrack_layer3->Fill((*di).charge()/1000);
964  break;
965  }
966 
967  }
968  }
969  //endcap
970  if(DetId(detId).subdetId() == 2) {
971  meClSizeNotOnTrack_fpix->Fill((*di).size());
972  meClSizeXNotOnTrack_fpix->Fill((*di).sizeX());
973  meClSizeYNotOnTrack_fpix->Fill((*di).sizeY());
974  meClChargeNotOnTrack_fpix->Fill((*di).charge()/1000);
975  endcapotherclusters++;
976  //DBdisk = PixelEndcapName(DetId(detId )).diskName();
977  float x = clustgp.x();
978  float y = clustgp.y();
979  z = clustgp.z();
980  if(z>0){
981  if(DBdisk==1) {
983  meClSizeNotOnTrack_diskp1->Fill((*di).size());
984  meClSizeXNotOnTrack_diskp1->Fill((*di).sizeX());
985  meClSizeYNotOnTrack_diskp1->Fill((*di).sizeY());
986  meClChargeNotOnTrack_diskp1->Fill((*di).charge()/1000);
987  }
988  if(DBdisk==2) {
990  meClSizeNotOnTrack_diskp2->Fill((*di).size());
991  meClSizeXNotOnTrack_diskp2->Fill((*di).sizeX());
992  meClSizeYNotOnTrack_diskp2->Fill((*di).sizeY());
993  meClChargeNotOnTrack_diskp2->Fill((*di).charge()/1000);
994  }
995  }
996  else{
997  if(DBdisk==1) {
999  meClSizeNotOnTrack_diskm1->Fill((*di).size());
1000  meClSizeXNotOnTrack_diskm1->Fill((*di).sizeX());
1001  meClSizeYNotOnTrack_diskm1->Fill((*di).sizeY());
1002  meClChargeNotOnTrack_diskm1->Fill((*di).charge()/1000);
1003  }
1004  if(DBdisk==2) {
1006  meClSizeNotOnTrack_diskm2->Fill((*di).size());
1007  meClSizeXNotOnTrack_diskm2->Fill((*di).sizeX());
1008  meClSizeYNotOnTrack_diskm2->Fill((*di).sizeY());
1009  meClChargeNotOnTrack_diskm2->Fill((*di).charge()/1000);
1010  }
1011  }
1012 
1013  }
1014  }// end "if cluster off track"
1015  else {
1016  nofclOnTrack++;
1017  if(z == 0 && DBdisk != 10){
1018  //find cluster global position (rphi, z) get cluster
1019  //define tracker and pixel geometry and topology
1020  const TrackerGeometry& theTracker(*theTrackerGeometry);
1021  const PixelGeomDetUnit* theGeomDet = static_cast<const PixelGeomDetUnit*> (theTracker.idToDet(detId) );
1022  //test if PixelGeomDetUnit exists
1023  if(theGeomDet == 0) {
1024  if(debug_) std::cout << "NO THEGEOMDET\n";
1025  continue;
1026  }
1027  const PixelTopology * topol = &(theGeomDet->specificTopology());
1028  //center of gravity (of charge)
1029  float xcenter = di->x();
1030  float ycenter = di->y();
1031  // get the cluster position in local coordinates (cm)
1032  LocalPoint clustlp = topol->localPosition( MeasurementPoint(xcenter, ycenter) );
1033  // get the cluster position in global coordinates (cm)
1034  GlobalPoint clustgp = theGeomDet->surface().toGlobal( clustlp );
1035  z = clustgp.z();
1036  }
1037  }
1038  }
1039  }
1040  //++ fill the number of clusters on a module
1041  std::map<uint32_t, SiPixelTrackResidualModule*>::iterator pxd = theSiPixelStructure.find((*it)->geographicalId().rawId());
1042  if (pxd!=theSiPixelStructure.end()) (*pxd).second->nfill(nofclOnTrack, nofclOffTrack, reducedSet, modOn, ladOn, layOn, phiOn, bladeOn, diskOn, ringOn);
1043  if(nofclOnTrack!=0) meNClustersOnTrack_all->Fill(nofclOnTrack);
1044  if(nofclOffTrack!=0) meNClustersNotOnTrack_all->Fill(nofclOffTrack);
1045  //barrel
1046  if(DetId(detId).subdetId() == 1){
1047  if(nofclOnTrack!=0) meNClustersOnTrack_bpix->Fill(nofclOnTrack);
1048  if(nofclOffTrack!=0) meNClustersNotOnTrack_bpix->Fill(nofclOffTrack);
1049  //DBlayer = PixelBarrelName(DetId(detId)).layerName();
1050  switch(DBlayer){
1051  case 1: {
1052  if(nofclOnTrack!=0) meNClustersOnTrack_layer1->Fill(nofclOnTrack);
1053  if(nofclOffTrack!=0) meNClustersNotOnTrack_layer1->Fill(nofclOffTrack); break;
1054  }
1055  case 2: {
1056  if(nofclOnTrack!=0) meNClustersOnTrack_layer2->Fill(nofclOnTrack);
1057  if(nofclOffTrack!=0) meNClustersNotOnTrack_layer2->Fill(nofclOffTrack); break;
1058  }
1059  case 3: {
1060  if(nofclOnTrack!=0) meNClustersOnTrack_layer3->Fill(nofclOnTrack);
1061  if(nofclOffTrack!=0) meNClustersNotOnTrack_layer3->Fill(nofclOffTrack); break;
1062  }
1063  }
1064  }//end barrel
1065  //endcap
1066  if(DetId(detId).subdetId() == 2) {
1067  //DBdisk = PixelEndcapName(DetId(detId )).diskName();
1068  //z = clustgp.z();
1069  if(nofclOnTrack!=0) meNClustersOnTrack_fpix->Fill(nofclOnTrack);
1070  if(nofclOffTrack!=0) meNClustersNotOnTrack_fpix->Fill(nofclOffTrack);
1071  if(z>0){
1072  if(DBdisk==1) {
1073  if(nofclOnTrack!=0) meNClustersOnTrack_diskp1->Fill(nofclOnTrack);
1074  if(nofclOffTrack!=0) meNClustersNotOnTrack_diskp1->Fill(nofclOffTrack);
1075  }
1076  if(DBdisk==2) {
1077  if(nofclOnTrack!=0) meNClustersOnTrack_diskp2->Fill(nofclOnTrack);
1078  if(nofclOffTrack!=0) meNClustersNotOnTrack_diskp2->Fill(nofclOffTrack);
1079  }
1080  }
1081  if(z<0){
1082  if(DBdisk==1) {
1083  if(nofclOnTrack!=0) meNClustersOnTrack_diskm1->Fill(nofclOnTrack);
1084  if(nofclOffTrack!=0) meNClustersNotOnTrack_diskm1->Fill(nofclOffTrack);
1085  }
1086  if(DBdisk==2) {
1087  if(nofclOnTrack!=0) meNClustersOnTrack_diskm2->Fill(nofclOnTrack);
1088  if(nofclOffTrack!=0) meNClustersNotOnTrack_diskm2->Fill(nofclOffTrack);
1089  }
1090  }
1091  }
1092 
1093  }//end if it's a Pixel module
1094  }//end for loop over tracker detector geometry modules
1095 
1096 
1097  if(trackclusters>0) (meNofClustersOnTrack_)->Fill(0,trackclusters);
1098  if(barreltrackclusters>0)(meNofClustersOnTrack_)->Fill(1,barreltrackclusters);
1099  if(endcaptrackclusters>0)(meNofClustersOnTrack_)->Fill(2,endcaptrackclusters);
1100  if(otherclusters>0)(meNofClustersNotOnTrack_)->Fill(0,otherclusters);
1101  if(barrelotherclusters>0)(meNofClustersNotOnTrack_)->Fill(1,barrelotherclusters);
1102  if(endcapotherclusters>0)(meNofClustersNotOnTrack_)->Fill(2,endcapotherclusters);
1103  if(tracks>0)(meNofTracks_)->Fill(0,tracks);
1104  if(pixeltracks>0)(meNofTracks_)->Fill(1,pixeltracks);
1105  if(bpixtracks>0)(meNofTracks_)->Fill(2,bpixtracks);
1106  if(fpixtracks>0)(meNofTracks_)->Fill(3,fpixtracks);
1107 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:78
T getParameter(std::string const &) const
bool hasFilledProb() const
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const_iterator begin() const
float clusterProbability(unsigned int flags=0) const
T y() const
Definition: PV2DBase.h:40
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
const LocalTrajectoryParameters & localParameters() const
const_iterator end() const
last iterator over the map (read only)
tuple d0
Definition: debug_cff.py:3
TSOS combine(const TSOS &pTsos1, const TSOS &pTsos2) const
Geom::Phi< T > phi() const
Definition: PV3DBase.h:63
T y() const
Definition: PV3DBase.h:57
virtual SubDetector subDetector() const =0
Which subdetector.
#define abs(x)
Definition: mlp_lapack.h:159
data_type const * const_iterator
Definition: DetSetNew.h:25
std::pair< const_iterator, const_iterator > range
const_iterator find(id_type i) const
double double double z
void Fill(long long x)
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:249
DataContainer const & measurements() const
Definition: Trajectory.h:169
virtual const Topology & topology() const =0
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
std::vector< TrajectoryMeasurement > DataContainer
Definition: Trajectory.h:42
T mag() const
Definition: PV3DBase.h:61
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
T sqrt(T t)
Definition: SSEVec.h:28
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
T z() const
Definition: PV3DBase.h:58
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
TrajectoryStateOnSurface transientState(const PTrajectoryStateOnDet &ts, const Surface *surface, const MagneticField *field) const
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
LocalVector momentum() const
Momentum vector in the local frame.
const_iterator end() const
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
virtual std::vector< const GeomDet * > components() const =0
Returns direct components, if any.
virtual const GeomDet * idToDet(DetId) const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
Definition: DetId.h:20
std::map< uint32_t, SiPixelTrackResidualModule * > theSiPixelStructure
size_type size() const
map size
tuple tracks
Definition: testEve_cfg.py:39
ConstRecHitContainer RecHitContainer
Definition: Trajectory.h:44
const T & get() const
Definition: EventSetup.h:55
const unsigned int detId() const
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
key_type key() const
Accessor for product key.
Definition: Ref.h:265
int layerName() const
layer id
T const * product() const
Definition: ESHandle.h:62
range recHits() const
T const * product() const
Definition: Handle.h:74
size_type size() const
Pixel cluster – collection of neighboring pixels above threshold.
virtual std::vector< Trajectory > fit(const Trajectory &) const =0
tuple cout
Definition: gather_cfg.py:41
int diskName() const
disk id
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:6
const_iterator begin() const
first iterator over the map (read only)
Definition: DDAxes.h:10
T x() const
Definition: PV2DBase.h:39
T x() const
Definition: PV3DBase.h:56
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
Our base class.
Definition: SiPixelRecHit.h:27
Definition: DDAxes.h:10
void SiPixelTrackResidualSource::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 90 of file SiPixelTrackResidualSource.cc.

References firstRun, NLowProb, and NTotal.

90  {
91  LogInfo("PixelDQM") << "SiPixelTrackResidualSource beginJob()" << endl;
92  firstRun = true;
93  NTotal=0;
94  NLowProb=0;
95 }
void SiPixelTrackResidualSource::beginRun ( const edm::Run r,
edm::EventSetup const &  iSetup 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 98 of file SiPixelTrackResidualSource.cc.

References bladeOn, DQMStore::book1D(), DQMStore::book2D(), clustersrc_, dbe_, debug_, diskOn, edm::hlt::Exception, firstRun, edm::EventSetup::get(), edm::InputTag::label(), ladOn, layOn, meClChargeNotOnTrack_all, meClChargeNotOnTrack_bpix, meClChargeNotOnTrack_diskm1, meClChargeNotOnTrack_diskm2, meClChargeNotOnTrack_diskp1, meClChargeNotOnTrack_diskp2, meClChargeNotOnTrack_fpix, meClChargeNotOnTrack_layer1, meClChargeNotOnTrack_layer2, meClChargeNotOnTrack_layer3, meClChargeOnTrack_all, meClChargeOnTrack_bpix, meClChargeOnTrack_diskm1, meClChargeOnTrack_diskm2, meClChargeOnTrack_diskp1, meClChargeOnTrack_diskp2, meClChargeOnTrack_fpix, meClChargeOnTrack_layer1, meClChargeOnTrack_layer2, meClChargeOnTrack_layer3, meClPosDisk1mzNotOnTrack, meClPosDisk1mzOnTrack, meClPosDisk1pzNotOnTrack, meClPosDisk1pzOnTrack, meClPosDisk2mzNotOnTrack, meClPosDisk2mzOnTrack, meClPosDisk2pzNotOnTrack, meClPosDisk2pzOnTrack, meClPosLayer1NotOnTrack, meClPosLayer1OnTrack, meClPosLayer2NotOnTrack, meClPosLayer2OnTrack, meClPosLayer3NotOnTrack, meClPosLayer3OnTrack, meClSizeNotOnTrack_all, meClSizeNotOnTrack_bpix, meClSizeNotOnTrack_diskm1, meClSizeNotOnTrack_diskm2, meClSizeNotOnTrack_diskp1, meClSizeNotOnTrack_diskp2, meClSizeNotOnTrack_fpix, meClSizeNotOnTrack_layer1, meClSizeNotOnTrack_layer2, meClSizeNotOnTrack_layer3, meClSizeOnTrack_all, meClSizeOnTrack_bpix, meClSizeOnTrack_diskm1, meClSizeOnTrack_diskm2, meClSizeOnTrack_diskp1, meClSizeOnTrack_diskp2, meClSizeOnTrack_fpix, meClSizeOnTrack_layer1, meClSizeOnTrack_layer2, meClSizeOnTrack_layer3, meClSizeXNotOnTrack_all, meClSizeXNotOnTrack_bpix, meClSizeXNotOnTrack_diskm1, meClSizeXNotOnTrack_diskm2, meClSizeXNotOnTrack_diskp1, meClSizeXNotOnTrack_diskp2, meClSizeXNotOnTrack_fpix, meClSizeXNotOnTrack_layer1, meClSizeXNotOnTrack_layer2, meClSizeXNotOnTrack_layer3, meClSizeXOnTrack_all, meClSizeXOnTrack_bpix, meClSizeXOnTrack_diskm1, meClSizeXOnTrack_diskm2, meClSizeXOnTrack_diskp1, meClSizeXOnTrack_diskp2, meClSizeXOnTrack_fpix, meClSizeXOnTrack_layer1, meClSizeXOnTrack_layer2, meClSizeXOnTrack_layer3, meClSizeYNotOnTrack_all, meClSizeYNotOnTrack_bpix, meClSizeYNotOnTrack_diskm1, meClSizeYNotOnTrack_diskm2, meClSizeYNotOnTrack_diskp1, meClSizeYNotOnTrack_diskp2, meClSizeYNotOnTrack_fpix, meClSizeYNotOnTrack_layer1, meClSizeYNotOnTrack_layer2, meClSizeYNotOnTrack_layer3, meClSizeYOnTrack_all, meClSizeYOnTrack_bpix, meClSizeYOnTrack_diskm1, meClSizeYOnTrack_diskm2, meClSizeYOnTrack_diskp1, meClSizeYOnTrack_diskp2, meClSizeYOnTrack_fpix, meClSizeYOnTrack_layer1, meClSizeYOnTrack_layer2, meClSizeYOnTrack_layer3, meHitProbability, meNClustersNotOnTrack_all, meNClustersNotOnTrack_bpix, meNClustersNotOnTrack_diskm1, meNClustersNotOnTrack_diskm2, meNClustersNotOnTrack_diskp1, meNClustersNotOnTrack_diskp2, meNClustersNotOnTrack_fpix, meNClustersNotOnTrack_layer1, meNClustersNotOnTrack_layer2, meNClustersNotOnTrack_layer3, meNClustersOnTrack_all, meNClustersOnTrack_bpix, meNClustersOnTrack_diskm1, meNClustersOnTrack_diskm2, meNClustersOnTrack_diskp1, meNClustersOnTrack_diskp2, meNClustersOnTrack_fpix, meNClustersOnTrack_layer1, meNClustersOnTrack_layer2, meNClustersOnTrack_layer3, meNofClustersNotOnTrack_, meNofClustersOnTrack_, meNofTracks_, meNofTracksInPixVol_, meSubdetResidualX, meSubdetResidualY, modOn, module(), phiOn, pSet_, reducedSet, ringOn, asciidump::s, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), SiPixelFolderOrganizer::setModuleFolder(), theSiPixelStructure, and tracksrc_.

98  {
99  LogInfo("PixelDQM") << "SiPixelTrackResidualSource beginRun()" << endl;
100 
101  if(firstRun){
102  // retrieve TrackerGeometry for pixel dets
104  iSetup.get<TrackerDigiGeometryRecord>().get(TG);
105  if (debug_) LogVerbatim("PixelDQM") << "TrackerGeometry "<< &(*TG) <<" size is "<< TG->dets().size() << endl;
106 
107  // build theSiPixelStructure with the pixel barrel and endcap dets from TrackerGeometry
108  for (TrackerGeometry::DetContainer::const_iterator pxb = TG->detsPXB().begin();
109  pxb!=TG->detsPXB().end(); pxb++) {
110  if (dynamic_cast<PixelGeomDetUnit*>((*pxb))!=0) {
111  SiPixelTrackResidualModule* module = new SiPixelTrackResidualModule((*pxb)->geographicalId().rawId());
112  theSiPixelStructure.insert(pair<uint32_t, SiPixelTrackResidualModule*>((*pxb)->geographicalId().rawId(), module));
113  }
114  }
115  for (TrackerGeometry::DetContainer::const_iterator pxf = TG->detsPXF().begin();
116  pxf!=TG->detsPXF().end(); pxf++) {
117  if (dynamic_cast<PixelGeomDetUnit*>((*pxf))!=0) {
118  SiPixelTrackResidualModule* module = new SiPixelTrackResidualModule((*pxf)->geographicalId().rawId());
119  theSiPixelStructure.insert(pair<uint32_t, SiPixelTrackResidualModule*>((*pxf)->geographicalId().rawId(), module));
120  }
121  }
122  LogInfo("PixelDQM") << "SiPixelStructure size is " << theSiPixelStructure.size() << endl;
123 
124  // book residual histograms in theSiPixelFolder - one (x,y) pair of histograms per det
125  SiPixelFolderOrganizer theSiPixelFolder;
126  for (std::map<uint32_t, SiPixelTrackResidualModule*>::iterator pxd = theSiPixelStructure.begin();
127  pxd!=theSiPixelStructure.end(); pxd++) {
128 
129  if(modOn){
130  if (theSiPixelFolder.setModuleFolder((*pxd).first)) (*pxd).second->book(pSet_,reducedSet);
131  else throw cms::Exception("LogicError") << "SiPixelTrackResidualSource Folder Creation Failed! ";
132  }
133  if(ladOn){
134  if (theSiPixelFolder.setModuleFolder((*pxd).first,1)) {
135 
136  (*pxd).second->book(pSet_,reducedSet,1);
137  }
138  else throw cms::Exception("LogicError") << "SiPixelTrackResidualSource ladder Folder Creation Failed! ";
139  }
140  if(layOn){
141  if (theSiPixelFolder.setModuleFolder((*pxd).first,2)) (*pxd).second->book(pSet_,reducedSet,2);
142  else throw cms::Exception("LogicError") << "SiPixelTrackResidualSource layer Folder Creation Failed! ";
143  }
144  if(phiOn){
145  if (theSiPixelFolder.setModuleFolder((*pxd).first,3)) (*pxd).second->book(pSet_,reducedSet,3);
146  else throw cms::Exception("LogicError") << "SiPixelTrackResidualSource phi Folder Creation Failed! ";
147  }
148  if(bladeOn){
149  if (theSiPixelFolder.setModuleFolder((*pxd).first,4)) (*pxd).second->book(pSet_,reducedSet,4);
150  else throw cms::Exception("LogicError") << "SiPixelTrackResidualSource Blade Folder Creation Failed! ";
151  }
152  if(diskOn){
153  if (theSiPixelFolder.setModuleFolder((*pxd).first,5)) (*pxd).second->book(pSet_,reducedSet,5);
154  else throw cms::Exception("LogicError") << "SiPixelTrackResidualSource Disk Folder Creation Failed! ";
155  }
156  if(ringOn){
157  if (theSiPixelFolder.setModuleFolder((*pxd).first,6)) (*pxd).second->book(pSet_,reducedSet,6);
158  else throw cms::Exception("LogicError") << "SiPixelTrackResidualSource Ring Folder Creation Failed! ";
159  }
160  }
161 
162 
163 // edm::InputTag tracksrc = pSet_.getParameter<edm::InputTag>("trajectoryInput");
164 // edm::InputTag clustersrc = pSet_.getParameter<edm::InputTag>("clustersrc");
165 
166  //number of tracks
167  dbe_->setCurrentFolder("Pixel/Tracks");
168  meNofTracks_ = dbe_->book1D("ntracks_" + tracksrc_.label(),"Number of Tracks",4,0,4);
169  meNofTracks_->setAxisTitle("Number of Tracks",1);
170  meNofTracks_->setBinLabel(1,"All");
171  meNofTracks_->setBinLabel(2,"Pixel");
172  meNofTracks_->setBinLabel(3,"BPix");
173  meNofTracks_->setBinLabel(4,"FPix");
174 
175  //number of tracks in pixel fiducial volume
176  dbe_->setCurrentFolder("Pixel/Tracks");
177  meNofTracksInPixVol_ = dbe_->book1D("ntracksInPixVol_" + tracksrc_.label(),"Number of Tracks crossing Pixel fiducial Volume",2,0,2);
178  meNofTracksInPixVol_->setAxisTitle("Number of Tracks",1);
179  meNofTracksInPixVol_->setBinLabel(1,"With Hits");
180  meNofTracksInPixVol_->setBinLabel(2,"Without Hits");
181 
182  //number of clusters (associated to track / not associated)
183  dbe_->setCurrentFolder("Pixel/Clusters/OnTrack");
184  meNofClustersOnTrack_ = dbe_->book1D("nclusters_" + clustersrc_.label() + "_tot","Number of Clusters (on track)",3,0,3);
185  meNofClustersOnTrack_->setAxisTitle("Number of Clusters on Track",1);
189  dbe_->setCurrentFolder("Pixel/Clusters/OffTrack");
190  meNofClustersNotOnTrack_ = dbe_->book1D("nclusters_" + clustersrc_.label() + "_tot","Number of Clusters (off track)",3,0,3);
191  meNofClustersNotOnTrack_->setAxisTitle("Number of Clusters off Track",1);
195 
196  //cluster charge and size
197  //charge
198  //on track
199  dbe_->setCurrentFolder("Pixel/Clusters/OnTrack");
200  meClChargeOnTrack_all = dbe_->book1D("charge_" + clustersrc_.label(),"Charge (on track)",500,0.,500.);
201  meClChargeOnTrack_all->setAxisTitle("Charge size (in ke)",1);
202  meClChargeOnTrack_bpix = dbe_->book1D("charge_" + clustersrc_.label() + "_Barrel","Charge (on track, barrel)",500,0.,500.);
203  meClChargeOnTrack_bpix->setAxisTitle("Charge size (in ke)",1);
204  meClChargeOnTrack_fpix = dbe_->book1D("charge_" + clustersrc_.label() + "_Endcap","Charge (on track, endcap)",500,0.,500.);
205  meClChargeOnTrack_fpix->setAxisTitle("Charge size (in ke)",1);
206  meClChargeOnTrack_layer1 = dbe_->book1D("charge_" + clustersrc_.label() + "_Layer_1","Charge (on track, layer1)",500,0.,500.);
207  meClChargeOnTrack_layer1->setAxisTitle("Charge size (in ke)",1);
208  meClChargeOnTrack_layer2 = dbe_->book1D("charge_" + clustersrc_.label() + "_Layer_2","Charge (on track, layer2)",500,0.,500.);
209  meClChargeOnTrack_layer2->setAxisTitle("Charge size (in ke)",1);
210  meClChargeOnTrack_layer3 = dbe_->book1D("charge_" + clustersrc_.label() + "_Layer_3","Charge (on track, layer3)",500,0.,500.);
211  meClChargeOnTrack_layer3->setAxisTitle("Charge size (in ke)",1);
212  meClChargeOnTrack_diskp1 = dbe_->book1D("charge_" + clustersrc_.label() + "_Disk_p1","Charge (on track, diskp1)",500,0.,500.);
213  meClChargeOnTrack_diskp1->setAxisTitle("Charge size (in ke)",1);
214  meClChargeOnTrack_diskp2 = dbe_->book1D("charge_" + clustersrc_.label() + "_Disk_p2","Charge (on track, diskp2)",500,0.,500.);
215  meClChargeOnTrack_diskp2->setAxisTitle("Charge size (in ke)",1);
216  meClChargeOnTrack_diskm1 = dbe_->book1D("charge_" + clustersrc_.label() + "_Disk_m1","Charge (on track, diskm1)",500,0.,500.);
217  meClChargeOnTrack_diskm1->setAxisTitle("Charge size (in ke)",1);
218  meClChargeOnTrack_diskm2 = dbe_->book1D("charge_" + clustersrc_.label() + "_Disk_m2","Charge (on track, diskm2)",500,0.,500.);
219  meClChargeOnTrack_diskm2->setAxisTitle("Charge size (in ke)",1);
220  //off track
221  dbe_->setCurrentFolder("Pixel/Clusters/OffTrack");
222  meClChargeNotOnTrack_all = dbe_->book1D("charge_" + clustersrc_.label(),"Charge (off track)",500,0.,500.);
223  meClChargeNotOnTrack_all->setAxisTitle("Charge size (in ke)",1);
224  meClChargeNotOnTrack_bpix = dbe_->book1D("charge_" + clustersrc_.label() + "_Barrel","Charge (off track, barrel)",500,0.,500.);
225  meClChargeNotOnTrack_bpix->setAxisTitle("Charge size (in ke)",1);
226  meClChargeNotOnTrack_fpix = dbe_->book1D("charge_" + clustersrc_.label() + "_Endcap","Charge (off track, endcap)",500,0.,500.);
227  meClChargeNotOnTrack_fpix->setAxisTitle("Charge size (in ke)",1);
228  meClChargeNotOnTrack_layer1 = dbe_->book1D("charge_" + clustersrc_.label() + "_Layer_1","Charge (off track, layer1)",500,0.,500.);
229  meClChargeNotOnTrack_layer1->setAxisTitle("Charge size (in ke)",1);
230  meClChargeNotOnTrack_layer2 = dbe_->book1D("charge_" + clustersrc_.label() + "_Layer_2","Charge (off track, layer2)",500,0.,500.);
231  meClChargeNotOnTrack_layer2->setAxisTitle("Charge size (in ke)",1);
232  meClChargeNotOnTrack_layer3 = dbe_->book1D("charge_" + clustersrc_.label() + "_Layer_3","Charge (off track, layer3)",500,0.,500.);
233  meClChargeNotOnTrack_layer3->setAxisTitle("Charge size (in ke)",1);
234  meClChargeNotOnTrack_diskp1 = dbe_->book1D("charge_" + clustersrc_.label() + "_Disk_p1","Charge (off track, diskp1)",500,0.,500.);
235  meClChargeNotOnTrack_diskp1->setAxisTitle("Charge size (in ke)",1);
236  meClChargeNotOnTrack_diskp2 = dbe_->book1D("charge_" + clustersrc_.label() + "_Disk_p2","Charge (off track, diskp2)",500,0.,500.);
237  meClChargeNotOnTrack_diskp2->setAxisTitle("Charge size (in ke)",1);
238  meClChargeNotOnTrack_diskm1 = dbe_->book1D("charge_" + clustersrc_.label() + "_Disk_m1","Charge (off track, diskm1)",500,0.,500.);
239  meClChargeNotOnTrack_diskm1->setAxisTitle("Charge size (in ke)",1);
240  meClChargeNotOnTrack_diskm2 = dbe_->book1D("charge_" + clustersrc_.label() + "_Disk_m2","Charge (off track, diskm2)",500,0.,500.);
241  meClChargeNotOnTrack_diskm2->setAxisTitle("Charge size (in ke)",1);
242 
243  //size
244  //on track
245  dbe_->setCurrentFolder("Pixel/Clusters/OnTrack");
246  meClSizeOnTrack_all = dbe_->book1D("size_" + clustersrc_.label(),"Size (on track)",100,0.,100.);
247  meClSizeOnTrack_all->setAxisTitle("Cluster size (in pixels)",1);
248  meClSizeOnTrack_bpix = dbe_->book1D("size_" + clustersrc_.label() + "_Barrel","Size (on track, barrel)",100,0.,100.);
249  meClSizeOnTrack_bpix->setAxisTitle("Cluster size (in pixels)",1);
250  meClSizeOnTrack_fpix = dbe_->book1D("size_" + clustersrc_.label() + "_Endcap","Size (on track, endcap)",100,0.,100.);
251  meClSizeOnTrack_fpix->setAxisTitle("Cluster size (in pixels)",1);
252  meClSizeOnTrack_layer1 = dbe_->book1D("size_" + clustersrc_.label() + "_Layer_1","Size (on track, layer1)",100,0.,100.);
253  meClSizeOnTrack_layer1->setAxisTitle("Cluster size (in pixels)",1);
254  meClSizeOnTrack_layer2 = dbe_->book1D("size_" + clustersrc_.label() + "_Layer_2","Size (on track, layer2)",100,0.,100.);
255  meClSizeOnTrack_layer2->setAxisTitle("Cluster size (in pixels)",1);
256  meClSizeOnTrack_layer3 = dbe_->book1D("size_" + clustersrc_.label() + "_Layer_3","Size (on track, layer3)",100,0.,100.);
257  meClSizeOnTrack_layer3->setAxisTitle("Cluster size (in pixels)",1);
258  meClSizeOnTrack_diskp1 = dbe_->book1D("size_" + clustersrc_.label() + "_Disk_p1","Size (on track, diskp1)",100,0.,100.);
259  meClSizeOnTrack_diskp1->setAxisTitle("Cluster size (in pixels)",1);
260  meClSizeOnTrack_diskp2 = dbe_->book1D("size_" + clustersrc_.label() + "_Disk_p2","Size (on track, diskp2)",100,0.,100.);
261  meClSizeOnTrack_diskp2->setAxisTitle("Cluster size (in pixels)",1);
262  meClSizeOnTrack_diskm1 = dbe_->book1D("size_" + clustersrc_.label() + "_Disk_m1","Size (on track, diskm1)",100,0.,100.);
263  meClSizeOnTrack_diskm1->setAxisTitle("Cluster size (in pixels)",1);
264  meClSizeOnTrack_diskm2 = dbe_->book1D("size_" + clustersrc_.label() + "_Disk_m2","Size (on track, diskm2)",100,0.,100.);
265  meClSizeOnTrack_diskm2->setAxisTitle("Cluster size (in pixels)",1);
266  meClSizeXOnTrack_all = dbe_->book1D("sizeX_" + clustersrc_.label(),"SizeX (on track)",100,0.,100.);
267  meClSizeXOnTrack_all->setAxisTitle("Cluster sizeX (in pixels)",1);
268  meClSizeXOnTrack_bpix = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Barrel","SizeX (on track, barrel)",100,0.,100.);
269  meClSizeXOnTrack_bpix->setAxisTitle("Cluster sizeX (in pixels)",1);
270  meClSizeXOnTrack_fpix = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Endcap","SizeX (on track, endcap)",100,0.,100.);
271  meClSizeXOnTrack_fpix->setAxisTitle("Cluster sizeX (in pixels)",1);
272  meClSizeXOnTrack_layer1 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Layer_1","SizeX (on track, layer1)",100,0.,100.);
273  meClSizeXOnTrack_layer1->setAxisTitle("Cluster size (in pixels)",1);
274  meClSizeXOnTrack_layer2 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Layer_2","SizeX (on track, layer2)",100,0.,100.);
275  meClSizeXOnTrack_layer2->setAxisTitle("Cluster size (in pixels)",1);
276  meClSizeXOnTrack_layer3 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Layer_3","SizeX (on track, layer3)",100,0.,100.);
277  meClSizeXOnTrack_layer3->setAxisTitle("Cluster size (in pixels)",1);
278  meClSizeXOnTrack_diskp1 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Disk_p1","SizeX (on track, diskp1)",100,0.,100.);
279  meClSizeXOnTrack_diskp1->setAxisTitle("Cluster size (in pixels)",1);
280  meClSizeXOnTrack_diskp2 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Disk_p2","SizeX (on track, diskp2)",100,0.,100.);
281  meClSizeXOnTrack_diskp2->setAxisTitle("Cluster size (in pixels)",1);
282  meClSizeXOnTrack_diskm1 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Disk_m1","SizeX (on track, diskm1)",100,0.,100.);
283  meClSizeXOnTrack_diskm1->setAxisTitle("Cluster size (in pixels)",1);
284  meClSizeXOnTrack_diskm2 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Disk_m2","SizeX (on track, diskm2)",100,0.,100.);
285  meClSizeXOnTrack_diskm2->setAxisTitle("Cluster size (in pixels)",1);
286  meClSizeYOnTrack_all = dbe_->book1D("sizeY_" + clustersrc_.label(),"SizeY (on track)",100,0.,100.);
287  meClSizeYOnTrack_all->setAxisTitle("Cluster sizeY (in pixels)",1);
288  meClSizeYOnTrack_bpix = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Barrel","SizeY (on track, barrel)",100,0.,100.);
289  meClSizeYOnTrack_bpix->setAxisTitle("Cluster sizeY (in pixels)",1);
290  meClSizeYOnTrack_fpix = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Endcap","SizeY (on track, endcap)",100,0.,100.);
291  meClSizeYOnTrack_fpix->setAxisTitle("Cluster sizeY (in pixels)",1);
292  meClSizeYOnTrack_layer1 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Layer_1","SizeY (on track, layer1)",100,0.,100.);
293  meClSizeYOnTrack_layer1->setAxisTitle("Cluster size (in pixels)",1);
294  meClSizeYOnTrack_layer2 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Layer_2","SizeY (on track, layer2)",100,0.,100.);
295  meClSizeYOnTrack_layer2->setAxisTitle("Cluster size (in pixels)",1);
296  meClSizeYOnTrack_layer3 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Layer_3","SizeY (on track, layer3)",100,0.,100.);
297  meClSizeYOnTrack_layer3->setAxisTitle("Cluster size (in pixels)",1);
298  meClSizeYOnTrack_diskp1 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Disk_p1","SizeY (on track, diskp1)",100,0.,100.);
299  meClSizeYOnTrack_diskp1->setAxisTitle("Cluster size (in pixels)",1);
300  meClSizeYOnTrack_diskp2 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Disk_p2","SizeY (on track, diskp2)",100,0.,100.);
301  meClSizeYOnTrack_diskp2->setAxisTitle("Cluster size (in pixels)",1);
302  meClSizeYOnTrack_diskm1 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Disk_m1","SizeY (on track, diskm1)",100,0.,100.);
303  meClSizeYOnTrack_diskm1->setAxisTitle("Cluster size (in pixels)",1);
304  meClSizeYOnTrack_diskm2 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Disk_m2","SizeY (on track, diskm2)",100,0.,100.);
305  meClSizeYOnTrack_diskm2->setAxisTitle("Cluster size (in pixels)",1);
306  //off track
307  dbe_->setCurrentFolder("Pixel/Clusters/OffTrack");
308  meClSizeNotOnTrack_all = dbe_->book1D("size_" + clustersrc_.label(),"Size (off track)",100,0.,100.);
309  meClSizeNotOnTrack_all->setAxisTitle("Cluster size (in pixels)",1);
310  meClSizeNotOnTrack_bpix = dbe_->book1D("size_" + clustersrc_.label() + "_Barrel","Size (off track, barrel)",100,0.,100.);
311  meClSizeNotOnTrack_bpix->setAxisTitle("Cluster size (in pixels)",1);
312  meClSizeNotOnTrack_fpix = dbe_->book1D("size_" + clustersrc_.label() + "_Endcap","Size (off track, endcap)",100,0.,100.);
313  meClSizeNotOnTrack_fpix->setAxisTitle("Cluster size (in pixels)",1);
314  meClSizeNotOnTrack_layer1 = dbe_->book1D("size_" + clustersrc_.label() + "_Layer_1","Size (off track, layer1)",100,0.,100.);
315  meClSizeNotOnTrack_layer1->setAxisTitle("Cluster size (in pixels)",1);
316  meClSizeNotOnTrack_layer2 = dbe_->book1D("size_" + clustersrc_.label() + "_Layer_2","Size (off track, layer2)",100,0.,100.);
317  meClSizeNotOnTrack_layer2->setAxisTitle("Cluster size (in pixels)",1);
318  meClSizeNotOnTrack_layer3 = dbe_->book1D("size_" + clustersrc_.label() + "_Layer_3","Size (off track, layer3)",100,0.,100.);
319  meClSizeNotOnTrack_layer3->setAxisTitle("Cluster size (in pixels)",1);
320  meClSizeNotOnTrack_diskp1 = dbe_->book1D("size_" + clustersrc_.label() + "_Disk_p1","Size (off track, diskp1)",100,0.,100.);
321  meClSizeNotOnTrack_diskp1->setAxisTitle("Cluster size (in pixels)",1);
322  meClSizeNotOnTrack_diskp2 = dbe_->book1D("size_" + clustersrc_.label() + "_Disk_p2","Size (off track, diskp2)",100,0.,100.);
323  meClSizeNotOnTrack_diskp2->setAxisTitle("Cluster size (in pixels)",1);
324  meClSizeNotOnTrack_diskm1 = dbe_->book1D("size_" + clustersrc_.label() + "_Disk_m1","Size (off track, diskm1)",100,0.,100.);
325  meClSizeNotOnTrack_diskm1->setAxisTitle("Cluster size (in pixels)",1);
326  meClSizeNotOnTrack_diskm2 = dbe_->book1D("size_" + clustersrc_.label() + "_Disk_m2","Size (off track, diskm2)",100,0.,100.);
327  meClSizeNotOnTrack_diskm2->setAxisTitle("Cluster size (in pixels)",1);
328  meClSizeXNotOnTrack_all = dbe_->book1D("sizeX_" + clustersrc_.label(),"SizeX (off track)",100,0.,100.);
329  meClSizeXNotOnTrack_all->setAxisTitle("Cluster sizeX (in pixels)",1);
330  meClSizeXNotOnTrack_bpix = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Barrel","SizeX (off track, barrel)",100,0.,100.);
331  meClSizeXNotOnTrack_bpix->setAxisTitle("Cluster sizeX (in pixels)",1);
332  meClSizeXNotOnTrack_fpix = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Endcap","SizeX (off track, endcap)",100,0.,100.);
333  meClSizeXNotOnTrack_fpix->setAxisTitle("Cluster sizeX (in pixels)",1);
334  meClSizeXNotOnTrack_layer1 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Layer_1","SizeX (off track, layer1)",100,0.,100.);
335  meClSizeXNotOnTrack_layer1->setAxisTitle("Cluster size (in pixels)",1);
336  meClSizeXNotOnTrack_layer2 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Layer_2","SizeX (off track, layer2)",100,0.,100.);
337  meClSizeXNotOnTrack_layer2->setAxisTitle("Cluster size (in pixels)",1);
338  meClSizeXNotOnTrack_layer3 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Layer_3","SizeX (off track, layer3)",100,0.,100.);
339  meClSizeXNotOnTrack_layer3->setAxisTitle("Cluster size (in pixels)",1);
340  meClSizeXNotOnTrack_diskp1 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Disk_p1","SizeX (off track, diskp1)",100,0.,100.);
341  meClSizeXNotOnTrack_diskp1->setAxisTitle("Cluster size (in pixels)",1);
342  meClSizeXNotOnTrack_diskp2 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Disk_p2","SizeX (off track, diskp2)",100,0.,100.);
343  meClSizeXNotOnTrack_diskp2->setAxisTitle("Cluster size (in pixels)",1);
344  meClSizeXNotOnTrack_diskm1 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Disk_m1","SizeX (off track, diskm1)",100,0.,100.);
345  meClSizeXNotOnTrack_diskm1->setAxisTitle("Cluster size (in pixels)",1);
346  meClSizeXNotOnTrack_diskm2 = dbe_->book1D("sizeX_" + clustersrc_.label() + "_Disk_m2","SizeX (off track, diskm2)",100,0.,100.);
347  meClSizeXNotOnTrack_diskm2->setAxisTitle("Cluster size (in pixels)",1);
348  meClSizeYNotOnTrack_all = dbe_->book1D("sizeY_" + clustersrc_.label(),"SizeY (off track)",100,0.,100.);
349  meClSizeYNotOnTrack_all->setAxisTitle("Cluster sizeY (in pixels)",1);
350  meClSizeYNotOnTrack_bpix = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Barrel","SizeY (off track, barrel)",100,0.,100.);
351  meClSizeYNotOnTrack_bpix->setAxisTitle("Cluster sizeY (in pixels)",1);
352  meClSizeYNotOnTrack_fpix = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Endcap","SizeY (off track, endcap)",100,0.,100.);
353  meClSizeYNotOnTrack_fpix->setAxisTitle("Cluster sizeY (in pixels)",1);
354  meClSizeYNotOnTrack_layer1 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Layer_1","SizeY (off track, layer1)",100,0.,100.);
355  meClSizeYNotOnTrack_layer1->setAxisTitle("Cluster size (in pixels)",1);
356  meClSizeYNotOnTrack_layer2 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Layer_2","SizeY (off track, layer2)",100,0.,100.);
357  meClSizeYNotOnTrack_layer2->setAxisTitle("Cluster size (in pixels)",1);
358  meClSizeYNotOnTrack_layer3 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Layer_3","SizeY (off track, layer3)",100,0.,100.);
359  meClSizeYNotOnTrack_layer3->setAxisTitle("Cluster size (in pixels)",1);
360  meClSizeYNotOnTrack_diskp1 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Disk_p1","SizeY (off track, diskp1)",100,0.,100.);
361  meClSizeYNotOnTrack_diskp1->setAxisTitle("Cluster size (in pixels)",1);
362  meClSizeYNotOnTrack_diskp2 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Disk_p2","SizeY (off track, diskp2)",100,0.,100.);
363  meClSizeYNotOnTrack_diskp2->setAxisTitle("Cluster size (in pixels)",1);
364  meClSizeYNotOnTrack_diskm1 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Disk_m1","SizeY (off track, diskm1)",100,0.,100.);
365  meClSizeYNotOnTrack_diskm1->setAxisTitle("Cluster size (in pixels)",1);
366  meClSizeYNotOnTrack_diskm2 = dbe_->book1D("sizeY_" + clustersrc_.label() + "_Disk_m2","SizeY (off track, diskm2)",100,0.,100.);
367  meClSizeYNotOnTrack_diskm2->setAxisTitle("Cluster size (in pixels)",1);
368 
369 
370  //cluster global position
371  //on track
372  dbe_->setCurrentFolder("Pixel/Clusters/OnTrack");
373  //bpix
374  meClPosLayer1OnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_Layer_1","Clusters Layer1 (on track)",200,-30.,30.,128,-3.2,3.2);
375  meClPosLayer1OnTrack->setAxisTitle("Global Z (cm)",1);
376  meClPosLayer1OnTrack->setAxisTitle("Global #phi",2);
377  meClPosLayer2OnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_Layer_2","Clusters Layer2 (on track)",200,-30.,30.,128,-3.2,3.2);
378  meClPosLayer2OnTrack->setAxisTitle("Global Z (cm)",1);
379  meClPosLayer2OnTrack->setAxisTitle("Global #phi",2);
380  meClPosLayer3OnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_Layer_3","Clusters Layer3 (on track)",200,-30.,30.,128,-3.2,3.2);
381  meClPosLayer3OnTrack->setAxisTitle("Global Z (cm)",1);
382  meClPosLayer3OnTrack->setAxisTitle("Global #phi",2);
383  //fpix
384  meClPosDisk1pzOnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_pz_Disk_1","Clusters +Z Disk1 (on track)",80,-20.,20.,80,-20.,20.);
385  meClPosDisk1pzOnTrack->setAxisTitle("Global X (cm)",1);
386  meClPosDisk1pzOnTrack->setAxisTitle("Global Y (cm)",2);
387  meClPosDisk2pzOnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_pz_Disk_2","Clusters +Z Disk2 (on track)",80,-20.,20.,80,-20.,20.);
388  meClPosDisk2pzOnTrack->setAxisTitle("Global X (cm)",1);
389  meClPosDisk2pzOnTrack->setAxisTitle("Global Y (cm)",2);
390  meClPosDisk1mzOnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_mz_Disk_1","Clusters -Z Disk1 (on track)",80,-20.,20.,80,-20.,20.);
391  meClPosDisk1mzOnTrack->setAxisTitle("Global X (cm)",1);
392  meClPosDisk1mzOnTrack->setAxisTitle("Global Y (cm)",2);
393  meClPosDisk2mzOnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_mz_Disk_2","Clusters -Z Disk2 (on track)",80,-20.,20.,80,-20.,20.);
394  meClPosDisk2mzOnTrack->setAxisTitle("Global X (cm)",1);
395  meClPosDisk2mzOnTrack->setAxisTitle("Global Y (cm)",2);
396 
397  meNClustersOnTrack_all = dbe_->book1D("nclusters_" + clustersrc_.label(),"Number of Clusters (on Track)",50,0.,50.);
398  meNClustersOnTrack_all->setAxisTitle("Number of Clusters",1);
399  meNClustersOnTrack_bpix = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Barrel","Number of Clusters (on track, barrel)",50,0.,50.);
400  meNClustersOnTrack_bpix->setAxisTitle("Number of Clusters",1);
401  meNClustersOnTrack_fpix = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Endcap","Number of Clusters (on track, endcap)",50,0.,50.);
402  meNClustersOnTrack_fpix->setAxisTitle("Number of Clusters",1);
403  meNClustersOnTrack_layer1 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Layer_1","Number of Clusters (on track, layer1)",50,0.,50.);
404  meNClustersOnTrack_layer1->setAxisTitle("Number of Clusters",1);
405  meNClustersOnTrack_layer2 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Layer_2","Number of Clusters (on track, layer2)",50,0.,50.);
406  meNClustersOnTrack_layer2->setAxisTitle("Number of Clusters",1);
407  meNClustersOnTrack_layer3 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Layer_3","Number of Clusters (on track, layer3)",50,0.,50.);
408  meNClustersOnTrack_layer3->setAxisTitle("Number of Clusters",1);
409  meNClustersOnTrack_diskp1 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Disk_p1","Number of Clusters (on track, diskp1)",50,0.,50.);
410  meNClustersOnTrack_diskp1->setAxisTitle("Number of Clusters",1);
411  meNClustersOnTrack_diskp2 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Disk_p2","Number of Clusters (on track, diskp2)",50,0.,50.);
412  meNClustersOnTrack_diskp2->setAxisTitle("Number of Clusters",1);
413  meNClustersOnTrack_diskm1 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Disk_m1","Number of Clusters (on track, diskm1)",50,0.,50.);
414  meNClustersOnTrack_diskm1->setAxisTitle("Number of Clusters",1);
415  meNClustersOnTrack_diskm2 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Disk_m2","Number of Clusters (on track, diskm2)",50,0.,50.);
416  meNClustersOnTrack_diskm2->setAxisTitle("Number of Clusters",1);
417 
418  //not on track
419  dbe_->setCurrentFolder("Pixel/Clusters/OffTrack");
420  //bpix
421  meClPosLayer1NotOnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_Layer_1","Clusters Layer1 (off track)",200,-30.,30.,128,-3.2,3.2);
422  meClPosLayer1NotOnTrack->setAxisTitle("Global Z (cm)",1);
423  meClPosLayer1NotOnTrack->setAxisTitle("Global #phi",2);
424  meClPosLayer2NotOnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_Layer_2","Clusters Layer2 (off track)",200,-30.,30.,128,-3.2,3.2);
425  meClPosLayer2NotOnTrack->setAxisTitle("Global Z (cm)",1);
426  meClPosLayer2NotOnTrack->setAxisTitle("Global #phi",2);
427  meClPosLayer3NotOnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_Layer_3","Clusters Layer3 (off track)",200,-30.,30.,128,-3.2,3.2);
428  meClPosLayer3NotOnTrack->setAxisTitle("Global Z (cm)",1);
429  meClPosLayer3NotOnTrack->setAxisTitle("Global #phi",2);
430  //fpix
431  meClPosDisk1pzNotOnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_pz_Disk_1","Clusters +Z Disk1 (off track)",80,-20.,20.,80,-20.,20.);
432  meClPosDisk1pzNotOnTrack->setAxisTitle("Global X (cm)",1);
433  meClPosDisk1pzNotOnTrack->setAxisTitle("Global Y (cm)",2);
434  meClPosDisk2pzNotOnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_pz_Disk_2","Clusters +Z Disk2 (off track)",80,-20.,20.,80,-20.,20.);
435  meClPosDisk2pzNotOnTrack->setAxisTitle("Global X (cm)",1);
436  meClPosDisk2pzNotOnTrack->setAxisTitle("Global Y (cm)",2);
437  meClPosDisk1mzNotOnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_mz_Disk_1","Clusters -Z Disk1 (off track)",80,-20.,20.,80,-20.,20.);
438  meClPosDisk1mzNotOnTrack->setAxisTitle("Global X (cm)",1);
439  meClPosDisk1mzNotOnTrack->setAxisTitle("Global Y (cm)",2);
440  meClPosDisk2mzNotOnTrack = dbe_->book2D("position_" + clustersrc_.label() + "_mz_Disk_2","Clusters -Z Disk2 (off track)",80,-20.,20.,80,-20.,20.);
441  meClPosDisk2mzNotOnTrack->setAxisTitle("Global X (cm)",1);
442  meClPosDisk2mzNotOnTrack->setAxisTitle("Global Y (cm)",2);
443 
444  meNClustersNotOnTrack_all = dbe_->book1D("nclusters_" + clustersrc_.label(),"Number of Clusters (off Track)",50,0.,50.);
445  meNClustersNotOnTrack_all->setAxisTitle("Number of Clusters",1);
446  meNClustersNotOnTrack_bpix = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Barrel","Number of Clusters (off track, barrel)",50,0.,50.);
447  meNClustersNotOnTrack_bpix->setAxisTitle("Number of Clusters",1);
448  meNClustersNotOnTrack_fpix = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Endcap","Number of Clusters (off track, endcap)",50,0.,50.);
449  meNClustersNotOnTrack_fpix->setAxisTitle("Number of Clusters",1);
450  meNClustersNotOnTrack_layer1 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Layer_1","Number of Clusters (off track, layer1)",50,0.,50.);
451  meNClustersNotOnTrack_layer1->setAxisTitle("Number of Clusters",1);
452  meNClustersNotOnTrack_layer2 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Layer_2","Number of Clusters (off track, layer2)",50,0.,50.);
453  meNClustersNotOnTrack_layer2->setAxisTitle("Number of Clusters",1);
454  meNClustersNotOnTrack_layer3 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Layer_3","Number of Clusters (off track, layer3)",50,0.,50.);
455  meNClustersNotOnTrack_layer3->setAxisTitle("Number of Clusters",1);
456  meNClustersNotOnTrack_diskp1 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Disk_p1","Number of Clusters (off track, diskp1)",50,0.,50.);
457  meNClustersNotOnTrack_diskp1->setAxisTitle("Number of Clusters",1);
458  meNClustersNotOnTrack_diskp2 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Disk_p2","Number of Clusters (off track, diskp2)",50,0.,50.);
459  meNClustersNotOnTrack_diskp2->setAxisTitle("Number of Clusters",1);
460  meNClustersNotOnTrack_diskm1 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Disk_m1","Number of Clusters (off track, diskm1)",50,0.,50.);
461  meNClustersNotOnTrack_diskm1->setAxisTitle("Number of Clusters",1);
462  meNClustersNotOnTrack_diskm2 = dbe_->book1D("nclusters_" + clustersrc_.label() + "_Disk_m2","Number of Clusters (off track, diskm2)",50,0.,50.);
463  meNClustersNotOnTrack_diskm2->setAxisTitle("Number of Clusters",1);
464 
465  //HitProbability
466  //on track
467  dbe_->setCurrentFolder("Pixel/Clusters/OnTrack");
468  meHitProbability = dbe_->book1D("FractionLowProb","Fraction of hits with low probability;FractionLowProb;#HitsOnTrack",100,0.,1.);
469 
470  if (debug_) {
471  // book summary residual histograms in a debugging folder - one (x,y) pair of histograms per subdetector
472  dbe_->setCurrentFolder("debugging");
473  char hisID[80];
474  for (int s=0; s<3; s++) {
475  sprintf(hisID,"residual_x_subdet_%i",s);
476  meSubdetResidualX[s] = dbe_->book1D(hisID,"Pixel Hit-to-Track Residual in X",500,-5.,5.);
477 
478  sprintf(hisID,"residual_y_subdet_%i",s);
479  meSubdetResidualY[s] = dbe_->book1D(hisID,"Pixel Hit-to-Track Residual in Y",500,-5.,5.);
480  }
481  }
482 
483  firstRun = false;
484  }
485 }
int module() const
Definition: HLTadd.h:12
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:514
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::map< uint32_t, SiPixelTrackResidualModule * > theSiPixelStructure
std::string const & label() const
Definition: InputTag.h:25
string s
Definition: asciidump.py:422
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:642
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: vlib.h:209
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
bool setModuleFolder(const uint32_t &rawdetid=0, int type=0)
Set folder name for a module or plaquette.
void SiPixelTrackResidualSource::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 488 of file SiPixelTrackResidualSource.cc.

References dbe_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), download_sqlite_cfg::outputFile, pSet_, and DQMStore::save().

488  {
489  LogInfo("PixelDQM") << "SiPixelTrackResidualSource endJob()";
490 
491  // save the residual histograms to an output root file
492  bool saveFile = pSet_.getUntrackedParameter<bool>("saveFile", true);
493  if (saveFile) {
494  std::string outputFile = pSet_.getParameter<std::string>("outputFile");
495  LogInfo("PixelDQM") << " - saving histograms to "<< outputFile.data();
496  dbe_->save(outputFile);
497  }
498  LogInfo("PixelDQM") << endl; // dbe_->showDirStructure();
499 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:1898

Member Data Documentation

bool SiPixelTrackResidualSource::bladeOn
private

Definition at line 64 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), beginRun(), and SiPixelTrackResidualSource().

edm::InputTag SiPixelTrackResidualSource::clustersrc_
private

Definition at line 54 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), beginRun(), and SiPixelTrackResidualSource().

DQMStore* SiPixelTrackResidualSource::dbe_
private

Definition at line 56 of file SiPixelTrackResidualSource.h.

Referenced by beginRun(), endJob(), and SiPixelTrackResidualSource().

bool SiPixelTrackResidualSource::debug_
private

Definition at line 58 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), beginRun(), and SiPixelTrackResidualSource().

bool SiPixelTrackResidualSource::diskOn
private

Definition at line 64 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), beginRun(), and SiPixelTrackResidualSource().

bool SiPixelTrackResidualSource::firstRun
private

Definition at line 66 of file SiPixelTrackResidualSource.h.

Referenced by beginJob(), and beginRun().

bool SiPixelTrackResidualSource::ladOn
private

Definition at line 62 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), beginRun(), and SiPixelTrackResidualSource().

bool SiPixelTrackResidualSource::layOn
private

Definition at line 62 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), beginRun(), and SiPixelTrackResidualSource().

MonitorElement* SiPixelTrackResidualSource::meClChargeNotOnTrack_all
private

Definition at line 89 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeNotOnTrack_bpix
private

Definition at line 90 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeNotOnTrack_diskm1
private

Definition at line 97 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeNotOnTrack_diskm2
private

Definition at line 98 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeNotOnTrack_diskp1
private

Definition at line 95 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeNotOnTrack_diskp2
private

Definition at line 96 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeNotOnTrack_fpix
private

Definition at line 91 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeNotOnTrack_layer1
private

Definition at line 92 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeNotOnTrack_layer2
private

Definition at line 93 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeNotOnTrack_layer3
private

Definition at line 94 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeOnTrack_all
private

Definition at line 79 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeOnTrack_bpix
private

Definition at line 80 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeOnTrack_diskm1
private

Definition at line 87 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeOnTrack_diskm2
private

Definition at line 88 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeOnTrack_diskp1
private

Definition at line 85 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeOnTrack_diskp2
private

Definition at line 86 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeOnTrack_fpix
private

Definition at line 81 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeOnTrack_layer1
private

Definition at line 82 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeOnTrack_layer2
private

Definition at line 83 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClChargeOnTrack_layer3
private

Definition at line 84 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosDisk1mzNotOnTrack
private

Definition at line 196 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosDisk1mzOnTrack
private

Definition at line 192 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosDisk1pzNotOnTrack
private

Definition at line 194 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosDisk1pzOnTrack
private

Definition at line 190 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosDisk2mzNotOnTrack
private

Definition at line 197 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosDisk2mzOnTrack
private

Definition at line 193 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosDisk2pzNotOnTrack
private

Definition at line 195 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosDisk2pzOnTrack
private

Definition at line 191 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosLayer1NotOnTrack
private

Definition at line 186 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosLayer1OnTrack
private

Definition at line 183 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosLayer2NotOnTrack
private

Definition at line 187 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosLayer2OnTrack
private

Definition at line 184 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosLayer3NotOnTrack
private

Definition at line 188 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClPosLayer3OnTrack
private

Definition at line 185 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeNotOnTrack_all
private

Definition at line 109 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeNotOnTrack_bpix
private

Definition at line 110 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeNotOnTrack_diskm1
private

Definition at line 117 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeNotOnTrack_diskm2
private

Definition at line 118 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeNotOnTrack_diskp1
private

Definition at line 115 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeNotOnTrack_diskp2
private

Definition at line 116 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeNotOnTrack_fpix
private

Definition at line 111 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeNotOnTrack_layer1
private

Definition at line 112 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeNotOnTrack_layer2
private

Definition at line 113 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeNotOnTrack_layer3
private

Definition at line 114 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeOnTrack_all
private

Definition at line 99 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeOnTrack_bpix
private

Definition at line 100 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeOnTrack_diskm1
private

Definition at line 107 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeOnTrack_diskm2
private

Definition at line 108 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeOnTrack_diskp1
private

Definition at line 105 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeOnTrack_diskp2
private

Definition at line 106 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeOnTrack_fpix
private

Definition at line 101 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeOnTrack_layer1
private

Definition at line 102 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeOnTrack_layer2
private

Definition at line 103 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeOnTrack_layer3
private

Definition at line 104 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXNotOnTrack_all
private

Definition at line 129 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXNotOnTrack_bpix
private

Definition at line 130 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXNotOnTrack_diskm1
private

Definition at line 137 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXNotOnTrack_diskm2
private

Definition at line 138 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXNotOnTrack_diskp1
private

Definition at line 135 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXNotOnTrack_diskp2
private

Definition at line 136 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXNotOnTrack_fpix
private

Definition at line 131 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXNotOnTrack_layer1
private

Definition at line 132 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXNotOnTrack_layer2
private

Definition at line 133 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXNotOnTrack_layer3
private

Definition at line 134 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXOnTrack_all
private

Definition at line 119 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXOnTrack_bpix
private

Definition at line 120 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXOnTrack_diskm1
private

Definition at line 127 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXOnTrack_diskm2
private

Definition at line 128 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXOnTrack_diskp1
private

Definition at line 125 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXOnTrack_diskp2
private

Definition at line 126 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXOnTrack_fpix
private

Definition at line 121 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXOnTrack_layer1
private

Definition at line 122 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXOnTrack_layer2
private

Definition at line 123 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeXOnTrack_layer3
private

Definition at line 124 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYNotOnTrack_all
private

Definition at line 149 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYNotOnTrack_bpix
private

Definition at line 150 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYNotOnTrack_diskm1
private

Definition at line 157 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYNotOnTrack_diskm2
private

Definition at line 158 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYNotOnTrack_diskp1
private

Definition at line 155 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYNotOnTrack_diskp2
private

Definition at line 156 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYNotOnTrack_fpix
private

Definition at line 151 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYNotOnTrack_layer1
private

Definition at line 152 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYNotOnTrack_layer2
private

Definition at line 153 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYNotOnTrack_layer3
private

Definition at line 154 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYOnTrack_all
private

Definition at line 139 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYOnTrack_bpix
private

Definition at line 140 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYOnTrack_diskm1
private

Definition at line 147 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYOnTrack_diskm2
private

Definition at line 148 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYOnTrack_diskp1
private

Definition at line 145 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYOnTrack_diskp2
private

Definition at line 146 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYOnTrack_fpix
private

Definition at line 141 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYOnTrack_layer1
private

Definition at line 142 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYOnTrack_layer2
private

Definition at line 143 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meClSizeYOnTrack_layer3
private

Definition at line 144 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meHitProbability
private

Definition at line 199 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersNotOnTrack_all
private

Definition at line 171 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersNotOnTrack_bpix
private

Definition at line 172 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersNotOnTrack_diskm1
private

Definition at line 179 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersNotOnTrack_diskm2
private

Definition at line 180 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersNotOnTrack_diskp1
private

Definition at line 177 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersNotOnTrack_diskp2
private

Definition at line 178 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersNotOnTrack_fpix
private

Definition at line 173 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersNotOnTrack_layer1
private

Definition at line 174 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersNotOnTrack_layer2
private

Definition at line 175 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersNotOnTrack_layer3
private

Definition at line 176 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersOnTrack_all
private

Definition at line 161 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersOnTrack_bpix
private

Definition at line 162 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersOnTrack_diskm1
private

Definition at line 169 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersOnTrack_diskm2
private

Definition at line 170 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersOnTrack_diskp1
private

Definition at line 167 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersOnTrack_diskp2
private

Definition at line 168 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersOnTrack_fpix
private

Definition at line 163 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersOnTrack_layer1
private

Definition at line 164 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersOnTrack_layer2
private

Definition at line 165 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNClustersOnTrack_layer3
private

Definition at line 166 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNofClustersNotOnTrack_
private

Definition at line 78 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNofClustersOnTrack_
private

Definition at line 77 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNofTracks_
private

Definition at line 75 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meNofTracksInPixVol_
private

Definition at line 76 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meSubdetResidualX[3]
private

Definition at line 72 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

MonitorElement* SiPixelTrackResidualSource::meSubdetResidualY[3]
private

Definition at line 73 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

bool SiPixelTrackResidualSource::modOn
private

Definition at line 59 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), beginRun(), and SiPixelTrackResidualSource().

int SiPixelTrackResidualSource::NLowProb
private

Definition at line 68 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginJob().

int SiPixelTrackResidualSource::NTotal
private

Definition at line 67 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginJob().

bool SiPixelTrackResidualSource::phiOn
private

Definition at line 62 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), beginRun(), and SiPixelTrackResidualSource().

edm::ParameterSet SiPixelTrackResidualSource::pSet_
private

Definition at line 52 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), beginRun(), endJob(), and SiPixelTrackResidualSource().

bool SiPixelTrackResidualSource::reducedSet
private

Definition at line 60 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), and beginRun().

bool SiPixelTrackResidualSource::ringOn
private

Definition at line 64 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), beginRun(), and SiPixelTrackResidualSource().

edm::InputTag SiPixelTrackResidualSource::src_
private

Definition at line 53 of file SiPixelTrackResidualSource.h.

Referenced by SiPixelTrackResidualSource().

std::map<uint32_t, SiPixelTrackResidualModule*> SiPixelTrackResidualSource::theSiPixelStructure
private

Definition at line 70 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), beginRun(), and ~SiPixelTrackResidualSource().

edm::InputTag SiPixelTrackResidualSource::tracksrc_
private

Definition at line 55 of file SiPixelTrackResidualSource.h.

Referenced by analyze(), beginRun(), and SiPixelTrackResidualSource().