Skip to content

Commit

Permalink
Merge pull request #12043 from dinardo/my-new-feature_75X
Browse files Browse the repository at this point in the history
Implemented new cumulative histograms and made independent from any …
  • Loading branch information
cmsbuild committed Nov 4, 2015
2 parents 7321b05 + d611648 commit a8280cd
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 27 deletions.
63 changes: 51 additions & 12 deletions DQM/BeamMonitor/plugins/Vx3DHLTAnalyzer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,14 @@ void Vx3DHLTAnalyzer::analyze (const Event& iEvent, const EventSetup& iSetup)
Vx_ZX->Fill(it3DVx->z(), it3DVx->x());
Vx_ZY->Fill(it3DVx->z(), it3DVx->y());
Vx_XY->Fill(it3DVx->x(), it3DVx->y());

Vx_X_Cum->Fill(it3DVx->x());
Vx_Y_Cum->Fill(it3DVx->y());
Vx_Z_Cum->Fill(it3DVx->z());

Vx_ZX_Cum->Fill(it3DVx->z(), it3DVx->x());
Vx_ZY_Cum->Fill(it3DVx->z(), it3DVx->y());
Vx_XY_Cum->Fill(it3DVx->x(), it3DVx->y());
}
else if (internalDebug == true)
{
Expand Down Expand Up @@ -651,7 +659,15 @@ void Vx3DHLTAnalyzer::reset (string ResetType)
Vx_ZX->Reset();
Vx_ZY->Reset();
Vx_XY->Reset();

Vx_X_Cum->Reset();
Vx_Y_Cum->Reset();
Vx_Z_Cum->Reset();

Vx_ZX_Cum->Reset();
Vx_ZY_Cum->Reset();
Vx_XY_Cum->Reset();

mXlumi->Reset();
mYlumi->Reset();
mZlumi->Reset();
Expand Down Expand Up @@ -843,7 +859,7 @@ void Vx3DHLTAnalyzer::writeToFile (vector<double>* vals,
outputDebugFile << "EmittanceY 0.0" << endl;
outputDebugFile << "BetaStar 0.0" << endl;

outputDebugFile << "Used vertices: " << counterVx << "\n" << endl;
outputDebugFile << "\n" << "Used vertices: " << counterVx << "\n" << endl;
}
}

Expand Down Expand Up @@ -1007,7 +1023,7 @@ void Vx3DHLTAnalyzer::endLuminosityBlock (const LuminosityBlock& lumiBlock, cons

numberFits++;
writeToFile(&vals, beginTimeOfFit, endTimeOfFit, beginLumiOfFit, endLumiOfFit, 3);
if (internalDebug == true) cout << "[Vx3DHLTAnalyzer]::\tUsed vertices: " << counterVx << endl;
if (internalDebug == true) cout << "[Vx3DHLTAnalyzer]::\tUsed vertices: " << counterVx << endl;

statusCounter->getTH1()->SetBinContent(lastLumiOfFit, (double)goodData);
statusCounter->getTH1()->SetBinError(lastLumiOfFit, 1e-3);
Expand Down Expand Up @@ -1142,7 +1158,7 @@ void Vx3DHLTAnalyzer::endLuminosityBlock (const LuminosityBlock& lumiBlock, cons
fitResults->setAxisTitle(histTitle.str().c_str(), 1);
if ((debugMode == true) && (outputDebugFile.is_open() == true))
{
outputDebugFile << "Runnumber " << runNumber << endl;
outputDebugFile << "\n" << "Runnumber " << runNumber << endl;
outputDebugFile << "BeginTimeOfFit " << formatTime(beginTimeOfFit >> 32) << " " << (beginTimeOfFit >> 32) << endl;
outputDebugFile << "BeginLumiRange " << beginLumiOfFit << endl;
outputDebugFile << histTitle.str().c_str() << "\n" << endl;
Expand Down Expand Up @@ -1170,16 +1186,26 @@ void Vx3DHLTAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, Run const & iR
{
ibooker.setCurrentFolder("BeamPixel");

Vx_X = ibooker.book1D("F - vertex x", "Primary Vertex X Coordinate Distribution", int(rint(xRange/xStep)), -xRange/2., xRange/2.);
Vx_Y = ibooker.book1D("F - vertex y", "Primary Vertex Y Coordinate Distribution", int(rint(yRange/yStep)), -yRange/2., yRange/2.);
Vx_Z = ibooker.book1D("F - vertex z", "Primary Vertex Z Coordinate Distribution", int(rint(zRange/zStep)), -zRange/2., zRange/2.);
Vx_X = ibooker.book1D("F - vertex x", "Primary Vertex X Distribution", int(rint(xRange/xStep)), -xRange/2., xRange/2.);
Vx_Y = ibooker.book1D("F - vertex y", "Primary Vertex Y Distribution", int(rint(yRange/yStep)), -yRange/2., yRange/2.);
Vx_Z = ibooker.book1D("F - vertex z", "Primary Vertex Z Distribution", int(rint(zRange/zStep)), -zRange/2., zRange/2.);
Vx_X->setAxisTitle("Primary Vertices X [cm]",1);
Vx_X->setAxisTitle("Entries [#]",2);
Vx_Y->setAxisTitle("Primary Vertices Y [cm]",1);
Vx_Y->setAxisTitle("Entries [#]",2);
Vx_Z->setAxisTitle("Primary Vertices Z [cm]",1);
Vx_Z->setAxisTitle("Entries [#]",2);

Vx_X_Cum = ibooker.book1D("H - vertex x cum", "Primary Vertex X Distribution (Cumulative)", int(rint(xRange/xStep)), -xRange/2., xRange/2.);
Vx_Y_Cum = ibooker.book1D("H - vertex y cum", "Primary Vertex Y Distribution (Cumulative)", int(rint(yRange/yStep)), -yRange/2., yRange/2.);
Vx_Z_Cum = ibooker.book1D("H - vertex z cum", "Primary Vertex Z Distribution (Cumulative)", int(rint(zRange/zStep)), -zRange/2., zRange/2.);
Vx_X_Cum->setAxisTitle("Primary Vertices X [cm]",1);
Vx_X_Cum->setAxisTitle("Entries [#]",2);
Vx_Y_Cum->setAxisTitle("Primary Vertices Y [cm]",1);
Vx_Y_Cum->setAxisTitle("Entries [#]",2);
Vx_Z_Cum->setAxisTitle("Primary Vertices Z [cm]",1);
Vx_Z_Cum->setAxisTitle("Entries [#]",2);

mXlumi = ibooker.book1D("B - muX vs lumi", "#mu_{x} vs. Lumisection", nLumiXaxisRange, 0.5, ((double)nLumiXaxisRange)+0.5);
mYlumi = ibooker.book1D("B - muY vs lumi", "#mu_{y} vs. Lumisection", nLumiXaxisRange, 0.5, ((double)nLumiXaxisRange)+0.5);
mZlumi = ibooker.book1D("B - muZ vs lumi", "#mu_{z} vs. Lumisection", nLumiXaxisRange, 0.5, ((double)nLumiXaxisRange)+0.5);
Expand Down Expand Up @@ -1215,9 +1241,9 @@ void Vx3DHLTAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, Run const & iR
dydzlumi->setAxisTitle("dY/dZ [rad]",2);
dydzlumi->getTH1()->SetOption("E1");

Vx_ZX = ibooker.book2D("E - vertex zx", "Primary Vertex ZX Coordinate Distribution", int(rint(zRange/zStep)), -zRange/2., zRange/2., int(rint(xRange/xStep)), -xRange/2., xRange/2.);
Vx_ZY = ibooker.book2D("E - vertex zy", "Primary Vertex ZY Coordinate Distribution", int(rint(zRange/zStep)), -zRange/2., zRange/2., int(rint(yRange/yStep)), -yRange/2., yRange/2.);
Vx_XY = ibooker.book2D("E - vertex xy", "Primary Vertex XY Coordinate Distribution", int(rint(xRange/xStep)), -xRange/2., xRange/2., int(rint(yRange/yStep)), -yRange/2., yRange/2.);
Vx_ZX = ibooker.book2D("E - vertex zx", "Primary Vertex ZX Distribution", int(rint(zRange/zStep)), -zRange/2., zRange/2., int(rint(xRange/xStep)), -xRange/2., xRange/2.);
Vx_ZY = ibooker.book2D("E - vertex zy", "Primary Vertex ZY Distribution", int(rint(zRange/zStep)), -zRange/2., zRange/2., int(rint(yRange/yStep)), -yRange/2., yRange/2.);
Vx_XY = ibooker.book2D("E - vertex xy", "Primary Vertex XY Distribution", int(rint(xRange/xStep)), -xRange/2., xRange/2., int(rint(yRange/yStep)), -yRange/2., yRange/2.);
Vx_ZX->setAxisTitle("Primary Vertices Z [cm]",1);
Vx_ZX->setAxisTitle("Primary Vertices X [cm]",2);
Vx_ZX->setAxisTitle("Entries [#]",3);
Expand All @@ -1228,17 +1254,30 @@ void Vx3DHLTAnalyzer::bookHistograms(DQMStore::IBooker & ibooker, Run const & iR
Vx_XY->setAxisTitle("Primary Vertices Y [cm]",2);
Vx_XY->setAxisTitle("Entries [#]",3);

hitCounter = ibooker.book1D("H - pixelHits vs lumi", "# Pixel-Hits vs. Lumisection", nLumiXaxisRange, 0.5, ((double)nLumiXaxisRange)+0.5);
Vx_ZX_Cum = ibooker.book2D("G - vertex zx cum", "Primary Vertex ZX Distribution (Cumulative)", int(rint(zRange/zStep)), -zRange/2., zRange/2., int(rint(xRange/xStep)), -xRange/2., xRange/2.);
Vx_ZY_Cum = ibooker.book2D("G - vertex zy cum", "Primary Vertex ZY Distribution (Cumulative)", int(rint(zRange/zStep)), -zRange/2., zRange/2., int(rint(yRange/yStep)), -yRange/2., yRange/2.);
Vx_XY_Cum = ibooker.book2D("G - vertex xy cum", "Primary Vertex XY Distribution (Cumulative)", int(rint(xRange/xStep)), -xRange/2., xRange/2., int(rint(yRange/yStep)), -yRange/2., yRange/2.);
Vx_ZX_Cum->setAxisTitle("Primary Vertices Z [cm]",1);
Vx_ZX_Cum->setAxisTitle("Primary Vertices X [cm]",2);
Vx_ZX_Cum->setAxisTitle("Entries [#]",3);
Vx_ZY_Cum->setAxisTitle("Primary Vertices Z [cm]",1);
Vx_ZY_Cum->setAxisTitle("Primary Vertices Y [cm]",2);
Vx_ZY_Cum->setAxisTitle("Entries [#]",3);
Vx_XY_Cum->setAxisTitle("Primary Vertices X [cm]",1);
Vx_XY_Cum->setAxisTitle("Primary Vertices Y [cm]",2);
Vx_XY_Cum->setAxisTitle("Entries [#]",3);

hitCounter = ibooker.book1D("J - pixelHits vs lumi", "# Pixel-Hits vs. Lumisection", nLumiXaxisRange, 0.5, ((double)nLumiXaxisRange)+0.5);
hitCounter->setAxisTitle("Lumisection [#]",1);
hitCounter->setAxisTitle("Pixel-Hits [#]",2);
hitCounter->getTH1()->SetOption("E1");

goodVxCounter = ibooker.book1D("G - good vertices vs lumi", "# Good vertices vs. Lumisection", nLumiXaxisRange, 0.5, ((double)nLumiXaxisRange)+0.5);
goodVxCounter = ibooker.book1D("I - good vertices vs lumi", "# Good vertices vs. Lumisection", nLumiXaxisRange, 0.5, ((double)nLumiXaxisRange)+0.5);
goodVxCounter->setAxisTitle("Lumisection [#]",1);
goodVxCounter->setAxisTitle("Good vertices [#]",2);
goodVxCounter->getTH1()->SetOption("E1");

statusCounter = ibooker.book1D("I - app status vs lumi", "Status vs. Lumisection", nLumiXaxisRange, 0.5, ((double)nLumiXaxisRange)+0.5);
statusCounter = ibooker.book1D("K - app status vs lumi", "Status vs. Lumisection", nLumiXaxisRange, 0.5, ((double)nLumiXaxisRange)+0.5);
statusCounter->setAxisTitle("Lumisection [#]",1);
statusCounter->setAxisTitle("App. status [0 = OK]",2);
statusCounter->getTH1()->SetOption("E1");
Expand Down
10 changes: 9 additions & 1 deletion DQM/BeamMonitor/plugins/Vx3DHLTAnalyzer.h
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,15 @@ class Vx3DHLTAnalyzer : public DQMEDAnalyzer
MonitorElement* Vx_ZX;
MonitorElement* Vx_ZY;
MonitorElement* Vx_XY;


MonitorElement* Vx_X_Cum;
MonitorElement* Vx_Y_Cum;
MonitorElement* Vx_Z_Cum;

MonitorElement* Vx_ZX_Cum;
MonitorElement* Vx_ZY_Cum;
MonitorElement* Vx_XY_Cum;

MonitorElement* goodVxCounter;
MonitorElement* hitCounter;
MonitorElement* statusCounter;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@
# Sub-system Configuration
#----------------------------
process.load("Configuration.StandardSequences.GeometryRecoDB_cff")
process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff')
process.load("Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff")
process.load("Configuration.StandardSequences.RawToDigi_Data_cff")
# Use this to run locally (for testing purposes)
#process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_condDBv2_cff')
#process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_condDBv2_cff")
#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag
#process.GlobalTag = GlobalTag(process.GlobalTag, '74X_dataRun2_Prompt_v0', '')
#process.GlobalTag = GlobalTag(process.GlobalTag, "74X_dataRun2_Prompt_v0", "")
# Otherwise use this
process.load("DQM.Integration.config.FrontierCondition_GT_cfi")

Expand Down Expand Up @@ -79,7 +79,7 @@
process.siPixelDigis.InputLabel = cms.InputTag("rawDataCollector")
process.siStripDigis.ProductLabel = cms.InputTag("rawDataCollector")

process.load('Configuration.StandardSequences.Reconstruction_Data_cff')
process.load("Configuration.StandardSequences.Reconstruction_Data_cff")


#----------------------------
Expand Down Expand Up @@ -117,25 +117,30 @@
#----------------------------
# Pixel-Tracks&Vertices Config
#----------------------------
from RecoTracker.TkTrackingRegions.GlobalTrackingRegion_cfi import *
process.RegionPSetBlock.RegionPSet.originRadius = cms.double(0.4)

process.load("RecoPixelVertexing.Configuration.RecoPixelVertexing_cff")
process.PixelTrackReconstructionBlock.RegionFactoryPSet = cms.PSet(RegionPSetBlock, ComponentName = cms.string("GlobalTrackingRegion"))
process.pixelVertices.TkFilterParameters.minPt = process.pixelTracks.RegionFactoryPSet.RegionPSet.ptMin
process.offlinePrimaryVertices.TrackLabel = cms.InputTag("pixelTracks")

from RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi import *
process.PixelLayerTriplets.BPix.HitProducer = cms.string('siPixelRecHitsPreSplitting')
process.PixelLayerTriplets.FPix.HitProducer = cms.string('siPixelRecHitsPreSplitting')
process.PixelLayerTriplets.BPix.HitProducer = cms.string("siPixelRecHitsPreSplitting")
process.PixelLayerTriplets.FPix.HitProducer = cms.string("siPixelRecHitsPreSplitting")

from RecoPixelVertexing.PixelTrackFitting.PixelTracks_cff import *
process.pixelTracks.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet.clusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCachePreSplitting')
process.pixelTracks.OrderedHitsFactoryPSet.GeneratorPSet.SeedComparitorPSet.clusterShapeCacheSrc = cms.InputTag("siPixelClusterShapeCachePreSplitting")


#----------------------------
# Pixel-Tracks&Vertices Reco
#----------------------------
process.reconstructionStep = cms.Sequence(process.siPixelDigis*
process.offlineBeamSpot*
process.siPixelClustersPreSplitting*
process.siPixelRecHitsPreSplitting*
process.siPixelClusterShapeCachePreSplitting*
process.recopixelvertexing)
process.reconstructionStep = cms.Sequence(process.siPixelDigis*
process.offlineBeamSpot*
process.siPixelClustersPreSplitting*
process.siPixelRecHitsPreSplitting*
process.siPixelClusterShapeCachePreSplitting*
process.recopixelvertexing)


#----------------------------
Expand Down

0 comments on commit a8280cd

Please sign in to comment.