Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SiPixelDigiValid::analyse: blade number fix #13986

Merged
merged 2 commits into from Apr 11, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 5 additions & 1 deletion Validation/TrackerDigis/interface/SiPixelDigiValid.h
Expand Up @@ -3,7 +3,10 @@

#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include <DQMServices/Core/interface/DQMEDAnalyzer.h>
#include "FWCore/Framework/interface/ESHandle.h"
#include "DQMServices/Core/interface/DQMEDAnalyzer.h"
#include "RecoTracker/Record/interface/TrackerRecoGeometryRecord.h"
#include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"

#include <string>

Expand Down Expand Up @@ -266,6 +269,7 @@ class SiPixelDigiValid: public DQMEDAnalyzer {

DQMStore* dbe_;
edm::EDGetTokenT< edm::DetSetVector<PixelDigi> > edmDetSetVector_PixelDigi_Token_;
edm::ESHandle<GeometricSearchTracker> tracker;


};
Expand Down
2 changes: 2 additions & 0 deletions Validation/TrackerDigis/plugins/BuildFile.xml
Expand Up @@ -5,6 +5,8 @@
<use name="Geometry/Records"/>
<use name="boost"/>
<use name="root"/>
<use name="RecoTracker/TkDetLayers" />
<use name="RecoTracker/Record" />
<library file="*.cc" name="ValidationTrackerDigisPlugins">
<flags EDM_PLUGIN="1"/>
</library>
48 changes: 27 additions & 21 deletions Validation/TrackerDigis/plugins/SiPixelDigiValid.cc
Expand Up @@ -41,6 +41,8 @@ void SiPixelDigiValid::beginJob(){

void SiPixelDigiValid::bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es){
dbe_ = edm::Service<DQMStore>().operator->();
es.get<TrackerRecoGeometryRecord>().get( tracker );


if ( dbe_ ) {
ibooker.setCurrentFolder("TrackerDigisV/TrackerDigis/Pixel");
Expand Down Expand Up @@ -278,13 +280,17 @@ void SiPixelDigiValid::endJob() {
if ( runStandalone && outputFile_.size() != 0 && dbe_ ){dbe_->save(outputFile_);}
}


void SiPixelDigiValid::analyze(const edm::Event& e, const edm::EventSetup& c){
//Retrieve tracker topology from geometry
edm::ESHandle<TrackerTopology> tTopoHandle;
c.get<TrackerTopologyRcd>().get(tTopoHandle);
const TrackerTopology* const tTopo = tTopoHandle.product();

// Number of blades and ladders.
// TODO: other Geometry-Dependent quantities, e.g. num layers.
int nblades = tracker->posPixelForwardLayers()[0]->components().size();
int nladders1 = tracker->pixelBarrelLayers()[0]->components().size();
int nladders2 = tracker->pixelBarrelLayers()[1]->components().size();
int nladders3 = tracker->pixelBarrelLayers()[2]->components().size();


int ndigiperRingLayer1[8];
Expand All @@ -296,16 +302,16 @@ void SiPixelDigiValid::analyze(const edm::Event& e, const edm::EventSetup& c){
ndigiperRingLayer3[i] = 0;
}

int ndigiZpDisk1PerPanel1[24];
int ndigiZpDisk1PerPanel2[24];
int ndigiZpDisk2PerPanel1[24];
int ndigiZpDisk2PerPanel2[24];
int ndigiZmDisk1PerPanel1[24];
int ndigiZmDisk1PerPanel2[24];
int ndigiZmDisk2PerPanel1[24];
int ndigiZmDisk2PerPanel2[24];
int ndigiZpDisk1PerPanel1[nblades];
int ndigiZpDisk1PerPanel2[nblades];
int ndigiZpDisk2PerPanel1[nblades];
int ndigiZpDisk2PerPanel2[nblades];
int ndigiZmDisk1PerPanel1[nblades];
int ndigiZmDisk1PerPanel2[nblades];
int ndigiZmDisk2PerPanel1[nblades];
int ndigiZmDisk2PerPanel2[nblades];

for ( int i =0 ; i< 24; i++) {
for ( int i =0 ; i< nblades; i++) {
ndigiZpDisk1PerPanel1[i] = 0;
ndigiZpDisk1PerPanel2[i] = 0;
ndigiZpDisk2PerPanel1[i] = 0;
Expand All @@ -316,19 +322,19 @@ for ( int i =0 ; i< 24; i++) {
ndigiZmDisk2PerPanel2[i] = 0;
}

int ndigilayer1ladders[20];
int ndigilayer2ladders[32];
int ndigilayer3ladders[44];
int ndigilayer1ladders[nladders1];
int ndigilayer2ladders[nladders2];
int ndigilayer3ladders[nladders3];

for ( int i =0 ; i< 20; i++) {
for ( int i =0 ; i< nladders1; i++) {
ndigilayer1ladders[i]= 0;
}

for ( int i =0 ; i< 32; i++) {
for ( int i =0 ; i< nladders2; i++) {
ndigilayer2ladders[i] = 0;
}

for ( int i =0 ; i< 44; i++) {
for ( int i =0 ; i< nladders3; i++) {
ndigilayer3ladders[i] = 0;
}

Expand Down Expand Up @@ -721,7 +727,7 @@ for ( int i =0 ; i< 44; i++) {
meDigiMultiLayer3Ring7_->Fill(ndigiperRingLayer3[6]);
meDigiMultiLayer3Ring8_->Fill(ndigiperRingLayer3[7]);

for(int i =0; i< 24; i++) {
for(int i =0; i< nblades; i++) {
meNdigiZmDisk1PerPanel1_->Fill(ndigiZmDisk1PerPanel1[i]);
meNdigiZmDisk1PerPanel2_->Fill(ndigiZmDisk1PerPanel2[i]);
meNdigiZmDisk2PerPanel1_->Fill(ndigiZmDisk2PerPanel1[i]);
Expand All @@ -732,15 +738,15 @@ for ( int i =0 ; i< 44; i++) {
meNdigiZpDisk2PerPanel2_->Fill(ndigiZpDisk2PerPanel2[i]);
}

for (int i =0; i< 20; i++) {
for (int i =0; i< nladders1; i++) {
meDigiMultiLayer1Ladders_->Fill(i+1,ndigilayer1ladders[i]);
}

for (int i =0; i< 32; i++) {
for (int i =0; i< nladders2; i++) {
meDigiMultiLayer2Ladders_->Fill(i+1,ndigilayer2ladders[i]);
}

for (int i =0; i< 44; i++) {
for (int i =0; i< nladders3; i++) {
meDigiMultiLayer3Ladders_->Fill(i+1,ndigilayer3ladders[i]);
}

Expand Down