#include <SiPixelRecHitsValid.h>
File: SiPixelRecHitsValid.h
Definition at line 49 of file SiPixelRecHitsValid.h.
SiPixelRecHitsValid::SiPixelRecHitsValid | ( | const edm::ParameterSet & | conf | ) |
Definition at line 37 of file SiPixelRecHitsValid.cc.
References clustChargeDisk1Plaquettes, clustChargeDisk2Plaquettes, clustChargeLayer1Modules, clustChargeLayer2Modules, clustChargeLayer3Modules, clustXSizeDisk1Plaquettes, clustXSizeDisk2Plaquettes, clustXSizeLayer, clustYSizeDisk1Plaquettes, clustYSizeDisk2Plaquettes, clustYSizeModule, dbe_, edm::ParameterSet::getUntrackedParameter(), timingPdfMaker::histo, i, cppFunctionSkipper::operator, outputFile_, recHitXFullModules, recHitXHalfModules, recHitXPlaquetteSize1, recHitXPlaquetteSize2, recHitXPullAllB, recHitXPullAllF, recHitXPullDisk1Plaquettes, recHitXPullDisk2Plaquettes, recHitXPullFlippedLadderLayers, recHitXPullNonFlippedLadderLayers, recHitXResAllB, recHitXResAllF, recHitXResDisk1Plaquettes, recHitXResDisk2Plaquettes, recHitXResFlippedLadderLayers, recHitXResNonFlippedLadderLayers, recHitYAllModules, recHitYPlaquetteSize2, recHitYPlaquetteSize3, recHitYPlaquetteSize4, recHitYPlaquetteSize5, recHitYPullAllB, recHitYPullAllF, recHitYPullDisk1Plaquettes, recHitYPullDisk2Plaquettes, recHitYPullLayer1Modules, recHitYPullLayer2Modules, recHitYPullLayer3Modules, recHitYResAllB, recHitYResAllF, recHitYResDisk1Plaquettes, recHitYResDisk2Plaquettes, recHitYResLayer1Modules, recHitYResLayer2Modules, and recHitYResLayer3Modules.
: dbe_(0), conf_(ps), src_( ps.getParameter<edm::InputTag>( "src" ) ) { outputFile_ = ps.getUntrackedParameter<string>("outputFile", "pixelrechitshisto.root"); dbe_ = Service<DQMStore>().operator->(); //dbe_->showDirStructure(); dbe_->setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/clustBPIX"); Char_t histo[200]; // --------------------------------------------------------------- // All histograms that depend on plaquette number have 7 indexes. // The first 4 (0-3) correspond to Panel 1 plaquettes 1-4. // The last 3 (4-6) correspond to Panel 2 plaquettes 1-3. // --------------------------------------------------------------- //Cluster y-size by module number for barrel for (int i=0; i<8; i++) { sprintf(histo, "Clust_y_size_Module%d", i+1); clustYSizeModule[i] = dbe_->book1D(histo,"Cluster y-size by Module", 20, 0.5, 20.5); } // end for //Cluster x-size by layer for barrel for (int i=0; i<3; i++) { sprintf(histo, "Clust_x_size_Layer%d", i+1); clustXSizeLayer[i] = dbe_->book1D(histo,"Cluster x-size by Layer", 20, 0.5, 20.5); } // end for //Cluster charge by module for 3 layers of barrel for (int i=0; i<8; i++) { //Cluster charge by module for Layer1 sprintf(histo, "Clust_charge_Layer1_Module%d", i+1); clustChargeLayer1Modules[i] = dbe_->book1D(histo, "Cluster charge Layer 1 by Module", 50, 0., 200000.); //Cluster charge by module for Layer2 sprintf(histo, "Clust_charge_Layer2_Module%d", i+1); clustChargeLayer2Modules[i] = dbe_->book1D(histo, "Cluster charge Layer 2 by Module", 50, 0., 200000.); //Cluster charge by module for Layer3 sprintf(histo, "Clust_charge_Layer3_Module%d", i+1); clustChargeLayer3Modules[i] = dbe_->book1D(histo, "Cluster charge Layer 3 by Module",50, 0., 200000.); } // end for dbe_->setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/clustFPIX"); //Cluster x-size, y-size, and charge by plaquette for Disks in Forward for (int i=0; i<7; i++) { //Cluster x-size for Disk1 by Plaquette sprintf(histo, "Clust_x_size_Disk1_Plaquette%d", i+1); clustXSizeDisk1Plaquettes[i] = dbe_->book1D(histo, "Cluster X-size for Disk1 by Plaquette", 20, 0.5, 20.5); //Cluster x-size for Disk2 by Plaquette sprintf(histo, "Clust_x_size_Disk2_Plaquette%d", i+1); clustXSizeDisk2Plaquettes[i] = dbe_->book1D(histo, "Cluster X-size for Disk2 by Plaquette", 20, 0.5, 20.5); //Cluster y-size for Disk1 by Plaquette sprintf(histo, "Clust_y_size_Disk1_Plaquette%d", i+1); clustYSizeDisk1Plaquettes[i] = dbe_->book1D(histo, "Cluster Y-size for Disk1 by Plaquette", 20, 0.5, 20.5); //Cluster y-size for Disk2 by Plaquette sprintf(histo, "Clust_y_size_Disk2_Plaquette%d", i+1); clustYSizeDisk2Plaquettes[i] = dbe_->book1D(histo, "Cluster Y-size for Disk2 by Plaquette", 20, 0.5, 20.5); //Cluster charge for Disk1 by Plaquette sprintf(histo, "Clust_charge_Disk1_Plaquette%d", i+1); clustChargeDisk1Plaquettes[i] = dbe_->book1D(histo, "Cluster charge for Disk1 by Plaquette", 50, 0., 200000.); //Cluster charge for Disk2 by Plaquette sprintf(histo, "Clust_charge_Disk2_Plaquette%d", i+1); clustChargeDisk2Plaquettes[i] = dbe_->book1D(histo, "Cluster charge for Disk2 by Plaquette", 50, 0., 200000.); } // end for dbe_->setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/recHitBPIX"); //RecHit X Resolution all barrel hits recHitXResAllB = dbe_->book1D("RecHit_xres_b_All","RecHit X Res All Modules in Barrel", 100, -200., 200.); //RecHit Y Resolution all barrel hits recHitYResAllB = dbe_->book1D("RecHit_yres_b_All","RecHit Y Res All Modules in Barrel", 100, -200., 200.); //RecHit X distribution for full modules for barrel recHitXFullModules = dbe_->book1D("RecHit_x_FullModules", "RecHit X distribution for full modules", 100,-2., 2.); //RecHit X distribution for half modules for barrel recHitXHalfModules = dbe_->book1D("RecHit_x_HalfModules", "RecHit X distribution for half modules", 100, -1., 1.); //RecHit Y distribution all modules for barrel recHitYAllModules = dbe_->book1D("RecHit_y_AllModules", "RecHit Y distribution for all modules", 100, -4., 4.); //RecHit X resolution for flipped and unflipped ladders by layer for barrel for (int i=0; i<3; i++) { //RecHit X resolution for flipped ladders by layer sprintf(histo, "RecHit_XRes_FlippedLadder_Layer%d", i+1); recHitXResFlippedLadderLayers[i] = dbe_->book1D(histo, "RecHit XRes Flipped Ladders by Layer", 100, -200., 200.); //RecHit X resolution for unflipped ladders by layer sprintf(histo, "RecHit_XRes_UnFlippedLadder_Layer%d", i+1); recHitXResNonFlippedLadderLayers[i] = dbe_->book1D(histo, "RecHit XRes NonFlipped Ladders by Layer", 100, -200., 200.); } // end for //RecHit Y resolutions for layers by module for barrel for (int i=0; i<8; i++) { //Rec Hit Y resolution by module for Layer1 sprintf(histo, "RecHit_YRes_Layer1_Module%d", i+1); recHitYResLayer1Modules[i] = dbe_->book1D(histo, "RecHit YRes Layer1 by module", 100, -200., 200.); //RecHit Y resolution by module for Layer2 sprintf(histo, "RecHit_YRes_Layer2_Module%d", i+1); recHitYResLayer2Modules[i] = dbe_->book1D(histo, "RecHit YRes Layer2 by module", 100, -200., 200.); //RecHit Y resolution by module for Layer3 sprintf(histo, "RecHit_YRes_Layer3_Module%d", i+1); recHitYResLayer3Modules[i] = dbe_->book1D(histo, "RecHit YRes Layer3 by module", 100, -200., 200.); } // end for dbe_->setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/recHitFPIX"); //RecHit X resolution all plaquettes recHitXResAllF = dbe_->book1D("RecHit_xres_f_All", "RecHit X Res All in Forward", 100, -200., 200.); //RecHit Y resolution all plaquettes recHitYResAllF = dbe_->book1D("RecHit_yres_f_All", "RecHit Y Res All in Forward", 100, -200., 200.); //RecHit X distribution for plaquette with x-size 1 in forward recHitXPlaquetteSize1 = dbe_->book1D("RecHit_x_Plaquette_xsize1", "RecHit X Distribution for plaquette x-size1", 100, -2., 2.); //RecHit X distribution for plaquette with x-size 2 in forward recHitXPlaquetteSize2 = dbe_->book1D("RecHit_x_Plaquette_xsize2", "RecHit X Distribution for plaquette x-size2", 100, -2., 2.); //RecHit Y distribution for plaquette with y-size 2 in forward recHitYPlaquetteSize2 = dbe_->book1D("RecHit_y_Plaquette_ysize2", "RecHit Y Distribution for plaquette y-size2", 100, -4., 4.); //RecHit Y distribution for plaquette with y-size 3 in forward recHitYPlaquetteSize3 = dbe_->book1D("RecHit_y_Plaquette_ysize3", "RecHit Y Distribution for plaquette y-size3", 100, -4., 4.); //RecHit Y distribution for plaquette with y-size 4 in forward recHitYPlaquetteSize4 = dbe_->book1D("RecHit_y_Plaquette_ysize4", "RecHit Y Distribution for plaquette y-size4", 100, -4., 4.); //RecHit Y distribution for plaquette with y-size 5 in forward recHitYPlaquetteSize5 = dbe_->book1D("RecHit_y_Plaquette_ysize5", "RecHit Y Distribution for plaquette y-size5", 100, -4., 4.); //X and Y resolutions for both disks by plaquette in forward for (int i=0; i<7; i++) { //X resolution for Disk1 by plaquette sprintf(histo, "RecHit_XRes_Disk1_Plaquette%d", i+1); recHitXResDisk1Plaquettes[i] = dbe_->book1D(histo, "RecHit XRes Disk1 by plaquette", 100, -200., 200.); //X resolution for Disk2 by plaquette sprintf(histo, "RecHit_XRes_Disk2_Plaquette%d", i+1); recHitXResDisk2Plaquettes[i] = dbe_->book1D(histo, "RecHit XRes Disk2 by plaquette", 100, -200., 200.); //Y resolution for Disk1 by plaquette sprintf(histo, "RecHit_YRes_Disk1_Plaquette%d", i+1); recHitYResDisk1Plaquettes[i] = dbe_->book1D(histo, "RecHit YRes Disk1 by plaquette", 100, -200., 200.); //Y resolution for Disk2 by plaquette sprintf(histo, "RecHit_YRes_Disk2_Plaquette%d", i+1); recHitYResDisk2Plaquettes[i] = dbe_->book1D(histo, "RecHit YRes Disk2 by plaquette", 100, -200., 200.); } dbe_->setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/recHitPullsBPIX"); recHitXPullAllB = dbe_->book1D("RecHit_xres_b_All" , "RecHit X Pull All Modules in Barrel" , 100, -10.0, 10.0); recHitYPullAllB = dbe_->book1D("RecHit_yres_b_All" , "RecHit Y Pull All Modules in Barrel" , 100, -10.0, 10.0); for (int i=0; i<3; i++) { sprintf(histo, "RecHit_XPull_FlippedLadder_Layer%d", i+1); recHitXPullFlippedLadderLayers[i] = dbe_->book1D(histo, "RecHit XPull Flipped Ladders by Layer", 100, -10.0, 10.0); sprintf(histo, "RecHit_XPull_UnFlippedLadder_Layer%d", i+1); recHitXPullNonFlippedLadderLayers[i] = dbe_->book1D(histo, "RecHit XPull NonFlipped Ladders by Layer", 100, -10.0, 10.0); } for (int i=0; i<8; i++) { sprintf(histo, "RecHit_YPull_Layer1_Module%d", i+1); recHitYPullLayer1Modules[i] = dbe_->book1D(histo, "RecHit YPull Layer1 by module", 100, -10.0, 10.0); sprintf(histo, "RecHit_YPull_Layer2_Module%d", i+1); recHitYPullLayer2Modules[i] = dbe_->book1D(histo, "RecHit YPull Layer2 by module", 100, -10.0, 10.0); sprintf(histo, "RecHit_YPull_Layer3_Module%d", i+1); recHitYPullLayer3Modules[i] = dbe_->book1D(histo, "RecHit YPull Layer3 by module", 100, -10.0, 10.0); } dbe_->setCurrentFolder("TrackerRecHitsV/TrackerRecHits/Pixel/recHitPullsFPIX"); recHitXPullAllF = dbe_->book1D("RecHit_XPull_f_All", "RecHit X Pull All in Forward", 100, -10.0, 10.0); recHitYPullAllF = dbe_->book1D("RecHit_YPull_f_All", "RecHit Y Pull All in Forward", 100, -10.0, 10.0); for (int i=0; i<7; i++) { sprintf(histo, "RecHit_XPull_Disk1_Plaquette%d", i+1); recHitXPullDisk1Plaquettes[i] = dbe_->book1D(histo, "RecHit XPull Disk1 by plaquette", 100, -10.0, 10.0); sprintf(histo, "RecHit_XPull_Disk2_Plaquette%d", i+1); recHitXPullDisk2Plaquettes[i] = dbe_->book1D(histo, "RecHit XPull Disk2 by plaquette", 100, -10.0, 10.0); sprintf(histo, "RecHit_YPull_Disk1_Plaquette%d", i+1); recHitYPullDisk1Plaquettes[i] = dbe_->book1D(histo, "RecHit YPull Disk1 by plaquette", 100, -10.0, 10.0); sprintf(histo, "RecHit_YPull_Disk2_Plaquette%d", i+1); recHitYPullDisk2Plaquettes[i] = dbe_->book1D(histo, "RecHit YPull Disk2 by plaquette", 100, -10.0, 10.0); } }
SiPixelRecHitsValid::~SiPixelRecHitsValid | ( | ) |
Definition at line 244 of file SiPixelRecHitsValid.cc.
{ }
void SiPixelRecHitsValid::analyze | ( | const edm::Event & | e, |
const edm::EventSetup & | c | ||
) | [protected, virtual] |
Implements edm::EDAnalyzer.
Definition at line 255 of file SiPixelRecHitsValid.cc.
References TrackerHitAssociator::associateHit(), edmNew::DetSet< T >::begin(), conf_, gather_cfg::cout, edmNew::DetSet< T >::end(), edm::EventID::event(), fillBarrel(), fillForward(), relativeConstraints::geom, edm::EventSetup::get(), edm::Event::getByLabel(), edm::EventBase::id(), TrackerGeometry::idToDet(), m, edm::EventID::run(), mathSSE::sqrt(), src_, DetId::subdetId(), PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().
{ LogInfo("EventInfo") << " Run = " << e.id().run() << " Event = " << e.id().event(); if ( (int) e.id().event() % 1000 == 0 ) cout << " Run = " << e.id().run() << " Event = " << e.id().event() << endl; //Get RecHits edm::Handle<SiPixelRecHitCollection> recHitColl; e.getByLabel( src_, recHitColl); //Get event setup edm::ESHandle<TrackerGeometry> geom; es.get<TrackerDigiGeometryRecord>().get(geom); const TrackerGeometry& theTracker(*geom); TrackerHitAssociator associate( e, conf_ ); //iterate over detunits for (TrackerGeometry::DetContainer::const_iterator it = geom->dets().begin(); it != geom->dets().end(); it++) { DetId detId = ((*it)->geographicalId()); unsigned int subid=detId.subdetId(); if (! ((subid==1) || (subid==2))) continue; const PixelGeomDetUnit * theGeomDet = dynamic_cast<const PixelGeomDetUnit*>(theTracker.idToDet(detId) ); SiPixelRecHitCollection::const_iterator pixeldet = recHitColl->find(detId); if (pixeldet == recHitColl->end()) continue; SiPixelRecHitCollection::DetSet pixelrechitRange = *pixeldet; SiPixelRecHitCollection::DetSet::const_iterator pixelrechitRangeIteratorBegin = pixelrechitRange.begin(); SiPixelRecHitCollection::DetSet::const_iterator pixelrechitRangeIteratorEnd = pixelrechitRange.end(); SiPixelRecHitCollection::DetSet::const_iterator pixeliter = pixelrechitRangeIteratorBegin; std::vector<PSimHit> matched; //----Loop over rechits for this detId for ( ; pixeliter != pixelrechitRangeIteratorEnd; pixeliter++) { matched.clear(); matched = associate.associateHit(*pixeliter); if ( !matched.empty() ) { float closest = 9999.9; std::vector<PSimHit>::const_iterator closestit = matched.begin(); LocalPoint lp = pixeliter->localPosition(); float rechit_x = lp.x(); float rechit_y = lp.y(); //loop over sim hits and fill closet for (std::vector<PSimHit>::const_iterator m = matched.begin(); m<matched.end(); m++) { float sim_x1 = (*m).entryPoint().x(); float sim_x2 = (*m).exitPoint().x(); float sim_xpos = 0.5*(sim_x1+sim_x2); float sim_y1 = (*m).entryPoint().y(); float sim_y2 = (*m).exitPoint().y(); float sim_ypos = 0.5*(sim_y1+sim_y2); float x_res = fabs(sim_xpos - rechit_x); float y_res = fabs(sim_ypos - rechit_y); float dist = sqrt(x_res*x_res + y_res*y_res); if ( dist < closest ) { closest = x_res; closestit = m; } } // end sim hit loop if (subid==1) { //<----------barrel fillBarrel(*pixeliter, *closestit, detId, theGeomDet); } // end barrel if (subid==2) { // <-------forward fillForward(*pixeliter, *closestit, detId, theGeomDet); } } // end matched emtpy } // <-----end rechit loop } // <------ end detunit loop }
void SiPixelRecHitsValid::beginJob | ( | void | ) | [protected, virtual] |
void SiPixelRecHitsValid::endJob | ( | void | ) | [protected, virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 251 of file SiPixelRecHitsValid.cc.
References dbe_, outputFile_, and DQMStore::save().
{ if ( outputFile_.size() != 0 && dbe_ ) dbe_->save(outputFile_); }
void SiPixelRecHitsValid::fillBarrel | ( | const SiPixelRecHit & | recHit, |
const PSimHit & | simHit, | ||
DetId | detId, | ||
const PixelGeomDetUnit * | theGeomDet | ||
) | [private] |
Definition at line 342 of file SiPixelRecHitsValid.cc.
References DeDxDiscriminatorTools::charge(), clustChargeLayer1Modules, clustChargeLayer2Modules, clustChargeLayer3Modules, SiPixelRecHit::cluster(), clustXSizeLayer, clustYSizeModule, PSimHit::entryPoint(), PSimHit::exitPoint(), MonitorElement::Fill(), i, BaseTrackerRecHit::localPosition(), BaseTrackerRecHit::localPositionError(), python::rootplot::argparse::module, PixelTopology::nrows(), PV3DBase< T, PVType, FrameType >::perp(), recHitXFullModules, recHitXHalfModules, recHitXPullAllB, recHitXPullFlippedLadderLayers, recHitXPullNonFlippedLadderLayers, recHitXResAllB, recHitXResFlippedLadderLayers, recHitXResNonFlippedLadderLayers, recHitYAllModules, recHitYPullAllB, recHitYPullLayer1Modules, recHitYPullLayer2Modules, recHitYPullLayer3Modules, recHitYResAllB, recHitYResLayer1Modules, recHitYResLayer2Modules, recHitYResLayer3Modules, UserOptions_cff::rows, PixelGeomDetUnit::specificTopology(), mathSSE::sqrt(), GeomDet::surface(), Surface::toGlobal(), PV3DBase< T, PVType, FrameType >::x(), LocalError::xx(), PV3DBase< T, PVType, FrameType >::y(), and LocalError::yy().
Referenced by analyze().
{ const float cmtomicron = 10000.0; LocalPoint lp = recHit.localPosition(); float lp_y = lp.y(); float lp_x = lp.x(); LocalError lerr = recHit.localPositionError(); float lerr_x = sqrt(lerr.xx()); float lerr_y = sqrt(lerr.yy()); recHitYAllModules->Fill(lp_y); float sim_x1 = simHit.entryPoint().x(); float sim_x2 = simHit.exitPoint().x(); float sim_xpos = 0.5*(sim_x1 + sim_x2); float res_x = (lp.x() - sim_xpos)*cmtomicron; recHitXResAllB->Fill(res_x); float sim_y1 = simHit.entryPoint().y(); float sim_y2 = simHit.exitPoint().y(); float sim_ypos = 0.5*(sim_y1 + sim_y2); float res_y = (lp.y() - sim_ypos)*cmtomicron; recHitYResAllB->Fill(res_y); float pull_x = ( lp_x - sim_xpos ) / lerr_x; float pull_y = ( lp_y - sim_ypos ) / lerr_y; recHitXPullAllB->Fill(pull_x); recHitYPullAllB->Fill(pull_y); int rows = theGeomDet->specificTopology().nrows(); if (rows == 160) { recHitXFullModules->Fill(lp_x); } else if (rows == 80) { recHitXHalfModules->Fill(lp_x); } float tmp1 = theGeomDet->surface().toGlobal(Local3DPoint(0.,0.,0.)).perp(); float tmp2 = theGeomDet->surface().toGlobal(Local3DPoint(0.,0.,1.)).perp(); if (tmp2<tmp1) { // flipped for (unsigned int i=0; i<3; i++) { if (PXBDetId(detId).layer() == i+1) { recHitXResFlippedLadderLayers[i]->Fill(res_x); recHitXPullFlippedLadderLayers[i]->Fill(pull_x); } } } else { for (unsigned int i=0; i<3; i++) { if (PXBDetId(detId).layer() == i+1) { recHitXResNonFlippedLadderLayers[i]->Fill(res_x); recHitXPullNonFlippedLadderLayers[i]->Fill(pull_x); } } } //get cluster SiPixelRecHit::ClusterRef const& clust = recHit.cluster(); // fill module dependent info for (unsigned int i=0; i<8; i++) { if (PXBDetId(detId).module() == i+1) { int sizeY = (*clust).sizeY(); clustYSizeModule[i]->Fill(sizeY); if (PXBDetId(detId).layer() == 1) { float charge = (*clust).charge(); clustChargeLayer1Modules[i]->Fill(charge); recHitYResLayer1Modules[i]->Fill(res_y); recHitYPullLayer1Modules[i]->Fill(pull_y); } else if (PXBDetId(detId).layer() == 2) { float charge = (*clust).charge(); clustChargeLayer2Modules[i]->Fill(charge); recHitYResLayer2Modules[i]->Fill(res_y); recHitYPullLayer2Modules[i]->Fill(pull_y); } else if (PXBDetId(detId).layer() == 3) { float charge = (*clust).charge(); clustChargeLayer3Modules[i]->Fill(charge); recHitYResLayer3Modules[i]->Fill(res_y); recHitYPullLayer3Modules[i]->Fill(pull_y); } } } int sizeX = (*clust).sizeX(); if (PXBDetId(detId).layer() == 1) clustXSizeLayer[0]->Fill(sizeX); if (PXBDetId(detId).layer() == 2) clustXSizeLayer[1]->Fill(sizeX); if (PXBDetId(detId).layer() == 3) clustXSizeLayer[2]->Fill(sizeX); }
void SiPixelRecHitsValid::fillForward | ( | const SiPixelRecHit & | recHit, |
const PSimHit & | simHit, | ||
DetId | detId, | ||
const PixelGeomDetUnit * | theGeomDet | ||
) | [private] |
Definition at line 454 of file SiPixelRecHitsValid.cc.
References DeDxDiscriminatorTools::charge(), clustChargeDisk1Plaquettes, clustChargeDisk2Plaquettes, SiPixelRecHit::cluster(), clustXSizeDisk1Plaquettes, clustXSizeDisk2Plaquettes, clustYSizeDisk1Plaquettes, clustYSizeDisk2Plaquettes, PSimHit::entryPoint(), PSimHit::exitPoint(), MonitorElement::Fill(), i, BaseTrackerRecHit::localPosition(), BaseTrackerRecHit::localPositionError(), python::rootplot::argparse::module, PixelTopology::ncolumns(), PixelTopology::nrows(), recHitXPlaquetteSize1, recHitXPlaquetteSize2, recHitXPullAllF, recHitXPullDisk1Plaquettes, recHitXPullDisk2Plaquettes, recHitXResAllF, recHitXResDisk1Plaquettes, recHitXResDisk2Plaquettes, recHitYPlaquetteSize2, recHitYPlaquetteSize3, recHitYPlaquetteSize4, recHitYPlaquetteSize5, recHitYPullAllF, recHitYPullDisk1Plaquettes, recHitYPullDisk2Plaquettes, recHitYResDisk1Plaquettes, recHitYResDisk2Plaquettes, UserOptions_cff::rows, PixelGeomDetUnit::specificTopology(), mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::x(), LocalError::xx(), PV3DBase< T, PVType, FrameType >::y(), and LocalError::yy().
Referenced by analyze().
{ int rows = theGeomDet->specificTopology().nrows(); int cols = theGeomDet->specificTopology().ncolumns(); const float cmtomicron = 10000.0; LocalPoint lp = recHit.localPosition(); float lp_x = lp.x(); float lp_y = lp.y(); LocalError lerr = recHit.localPositionError(); float lerr_x = sqrt(lerr.xx()); float lerr_y = sqrt(lerr.yy()); float sim_x1 = simHit.entryPoint().x(); float sim_x2 = simHit.exitPoint().x(); float sim_xpos = 0.5*(sim_x1 + sim_x2); float sim_y1 = simHit.entryPoint().y(); float sim_y2 = simHit.exitPoint().y(); float sim_ypos = 0.5*(sim_y1 + sim_y2); float pull_x = ( lp_x - sim_xpos ) / lerr_x; float pull_y = ( lp_y - sim_ypos ) / lerr_y; if (rows == 80) { recHitXPlaquetteSize1->Fill(lp_x); } else if (rows == 160) { recHitXPlaquetteSize2->Fill(lp_x); } if (cols == 104) { recHitYPlaquetteSize2->Fill(lp_y); } else if (cols == 156) { recHitYPlaquetteSize3->Fill(lp_y); } else if (cols == 208) { recHitYPlaquetteSize4->Fill(lp_y); } else if (cols == 260) { recHitYPlaquetteSize5->Fill(lp_y); } float res_x = (lp.x() - sim_xpos)*cmtomicron; recHitXResAllF->Fill(res_x); recHitXPullAllF->Fill(pull_x); float res_y = (lp.y() - sim_ypos)*cmtomicron; recHitYPullAllF->Fill(pull_y); // get cluster SiPixelRecHit::ClusterRef const& clust = recHit.cluster(); // fill plaquette dependent info for (unsigned int i=0; i<7; i++) { if (PXFDetId(detId).module() == i+1) { if (PXFDetId(detId).disk() == 1) { int sizeX = (*clust).sizeX(); clustXSizeDisk1Plaquettes[i]->Fill(sizeX); int sizeY = (*clust).sizeY(); clustYSizeDisk1Plaquettes[i]->Fill(sizeY); float charge = (*clust).charge(); clustChargeDisk1Plaquettes[i]->Fill(charge); recHitXResDisk1Plaquettes[i]->Fill(res_x); recHitYResDisk1Plaquettes[i]->Fill(res_y); recHitXPullDisk1Plaquettes[i]->Fill(pull_x); recHitYPullDisk1Plaquettes[i]->Fill(pull_y); } else { int sizeX = (*clust).sizeX(); clustXSizeDisk2Plaquettes[i]->Fill(sizeX); int sizeY = (*clust).sizeY(); clustYSizeDisk2Plaquettes[i]->Fill(sizeY); float charge = (*clust).charge(); clustChargeDisk2Plaquettes[i]->Fill(charge); recHitXResDisk2Plaquettes[i]->Fill(res_x); recHitYResDisk2Plaquettes[i]->Fill(res_y); recHitXPullDisk2Plaquettes[i]->Fill(pull_x); recHitYPullDisk2Plaquettes[i]->Fill(pull_y); } // end else } // end if module else if (PXFDetId(detId).panel() == 2 && (PXFDetId(detId).module()+4) == i+1) { if (PXFDetId(detId).disk() == 1) { int sizeX = (*clust).sizeX(); clustXSizeDisk1Plaquettes[i]->Fill(sizeX); int sizeY = (*clust).sizeY(); clustYSizeDisk1Plaquettes[i]->Fill(sizeY); float charge = (*clust).charge(); clustChargeDisk1Plaquettes[i]->Fill(charge); recHitXResDisk1Plaquettes[i]->Fill(res_x); recHitYResDisk1Plaquettes[i]->Fill(res_y); recHitXPullDisk1Plaquettes[i]->Fill(pull_x); recHitYPullDisk1Plaquettes[i]->Fill(pull_y); } else { int sizeX = (*clust).sizeX(); clustXSizeDisk2Plaquettes[i]->Fill(sizeX); int sizeY = (*clust).sizeY(); clustYSizeDisk2Plaquettes[i]->Fill(sizeY); float charge = (*clust).charge(); clustChargeDisk2Plaquettes[i]->Fill(charge); recHitXResDisk2Plaquettes[i]->Fill(res_x); recHitYResDisk2Plaquettes[i]->Fill(res_y); recHitXPullDisk2Plaquettes[i]->Fill(pull_x); recHitYPullDisk2Plaquettes[i]->Fill(pull_y); } // end else } // end else } // end for }
Definition at line 85 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
Definition at line 86 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::clustChargeLayer1Modules[8] [private] |
Definition at line 76 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::clustChargeLayer2Modules[8] [private] |
Definition at line 77 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::clustChargeLayer3Modules[8] [private] |
Definition at line 78 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::clustXSizeDisk1Plaquettes[7] [private] |
Definition at line 81 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::clustXSizeDisk2Plaquettes[7] [private] |
Definition at line 82 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::clustXSizeLayer[3] [private] |
Definition at line 75 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::clustYSizeDisk1Plaquettes[7] [private] |
Definition at line 83 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::clustYSizeDisk2Plaquettes[7] [private] |
Definition at line 84 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::clustYSizeModule[8] [private] |
Definition at line 74 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
edm::ParameterSet SiPixelRecHitsValid::conf_ [private] |
Definition at line 68 of file SiPixelRecHitsValid.h.
Referenced by analyze().
DQMStore* SiPixelRecHitsValid::dbe_ [private] |
Definition at line 65 of file SiPixelRecHitsValid.h.
Referenced by endJob(), and SiPixelRecHitsValid().
std::string SiPixelRecHitsValid::outputFile_ [private] |
Definition at line 66 of file SiPixelRecHitsValid.h.
Referenced by endJob(), and SiPixelRecHitsValid().
Definition at line 91 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
Definition at line 92 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
Definition at line 103 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
Definition at line 104 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
Definition at line 116 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
Definition at line 126 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
Definition at line 129 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
Definition at line 130 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
Definition at line 119 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
Definition at line 120 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
Definition at line 89 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
Definition at line 101 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::recHitXResDisk1Plaquettes[7] [private] |
Definition at line 109 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::recHitXResDisk2Plaquettes[7] [private] |
Definition at line 110 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
Definition at line 94 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
Definition at line 95 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
Definition at line 93 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
Definition at line 105 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
Definition at line 106 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
Definition at line 107 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
Definition at line 108 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
Definition at line 117 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
Definition at line 127 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
Definition at line 131 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
Definition at line 132 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::recHitYPullLayer1Modules[8] [private] |
Definition at line 121 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::recHitYPullLayer2Modules[8] [private] |
Definition at line 122 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::recHitYPullLayer3Modules[8] [private] |
Definition at line 123 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
Definition at line 90 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
Definition at line 102 of file SiPixelRecHitsValid.h.
Referenced by SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::recHitYResDisk1Plaquettes[7] [private] |
Definition at line 111 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::recHitYResDisk2Plaquettes[7] [private] |
Definition at line 112 of file SiPixelRecHitsValid.h.
Referenced by fillForward(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::recHitYResLayer1Modules[8] [private] |
Definition at line 96 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::recHitYResLayer2Modules[8] [private] |
Definition at line 97 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
MonitorElement* SiPixelRecHitsValid::recHitYResLayer3Modules[8] [private] |
Definition at line 98 of file SiPixelRecHitsValid.h.
Referenced by fillBarrel(), and SiPixelRecHitsValid().
edm::InputTag SiPixelRecHitsValid::src_ [private] |
Definition at line 134 of file SiPixelRecHitsValid.h.
Referenced by analyze().