diff --git a/DQM/SiStripMonitorClient/BuildFile.xml b/DQM/SiStripMonitorClient/BuildFile.xml
index 4bcc076a374c0..83f7065545021 100644
--- a/DQM/SiStripMonitorClient/BuildFile.xml
+++ b/DQM/SiStripMonitorClient/BuildFile.xml
@@ -1,10 +1,12 @@
+
+
@@ -12,4 +14,6 @@
-
+
+
+
diff --git a/DQM/SiStripMonitorClient/data/sistrip_qualitytest_config_tier0.xml b/DQM/SiStripMonitorClient/data/sistrip_qualitytest_config_tier0.xml
index 5735937ab8fd7..56fbceb59b598 100644
--- a/DQM/SiStripMonitorClient/data/sistrip_qualitytest_config_tier0.xml
+++ b/DQM/SiStripMonitorClient/data/sistrip_qualitytest_config_tier0.xml
@@ -1,6 +1,7 @@
MeanWithinExpected
+ 0
0.05
0.3
1.0
@@ -12,6 +13,7 @@
MeanWithinExpected
+ 0
0.05
0.3
1.0
@@ -23,6 +25,7 @@
MeanWithinExpected
+ 0
0.05
0.3
1.0
@@ -46,6 +49,7 @@
CompareToMedian
+ 0
0.1
5.
0
@@ -57,6 +61,7 @@
CompareToMedian
+ 0
0.1
5.
0
@@ -121,53 +126,6 @@
0
10.0
-
- ContentsXRange
- 0.85
- 0.95
- 0.0
- 800.0
-
-
- ContentsXRange
- 0.80
- 0.90
- 5.0
- 35.0
-
-
- ContentsXRange
- 0.85
- 0.95
- 0
- 10.0
-
-
- ContentsXRange
- 0.85
- 0.95
- 0
- 200.0
-
-
- ContentsXRange
- 0.85
- 0.95
- 0.7
- 1.1
-
-
- MeanWithinExpected
- 0.75
- 0.90
- 1.0
- 0
- 0
- 1
- 0
- 0.5
- 50000.0
-
MeanWithinExpectedRange:nFEDErrors
@@ -204,22 +162,4 @@
MeanWithinExpectedRange:StoNTID
-
- XrangeWithin:NumberOfTracks
-
-
- XrangeWithin:GoodTrackNumberOfRecHitsPerTrack
-
-
- XrangeWithin:GoodTrackChi2oNDF
-
-
- XrangeWithin:GoodTrackPt
-
-
- XrangeWithin:FractionOfGoodTracks
-
-
- MeanWithinExpected:TrackSeed
-
diff --git a/DQM/SiStripMonitorClient/interface/SiStripCertificationInfo.h b/DQM/SiStripMonitorClient/interface/SiStripCertificationInfo.h
index ac08867d824fc..5182a183ab494 100644
--- a/DQM/SiStripMonitorClient/interface/SiStripCertificationInfo.h
+++ b/DQM/SiStripMonitorClient/interface/SiStripCertificationInfo.h
@@ -72,12 +72,7 @@ class SiStripCertificationInfo: public edm::EDAnalyzer {
void resetSiStripCertificationMEs();
void fillSiStripCertificationMEs(edm::EventSetup const& eSetup);
- void bookTrackingCertificationMEs();
- void resetTrackingCertificationMEs();
- void fillTrackingCertificationMEs(edm::EventSetup const& eSetup);
-
void fillDummySiStripCertification();
- void fillDummyTrackingCertification();
void fillSiStripCertificationMEsAtLumi();
@@ -95,12 +90,8 @@ class SiStripCertificationInfo: public edm::EDAnalyzer {
MonitorElement * SiStripCertification;
MonitorElement * SiStripCertificationMap;
std::map SubDetMEsMap;
- std::map TrackingMEsMap;
MonitorElement * SiStripCertificationSummaryMap;
- MonitorElement * TrackingCertification;
-
- bool trackingCertificationBooked_;
bool sistripCertificationBooked_;
unsigned long long m_cacheID_;
diff --git a/DQM/SiStripMonitorClient/interface/SiStripQualityChecker.h b/DQM/SiStripMonitorClient/interface/SiStripQualityChecker.h
index 1283391b27902..1930e32137001 100644
--- a/DQM/SiStripMonitorClient/interface/SiStripQualityChecker.h
+++ b/DQM/SiStripMonitorClient/interface/SiStripQualityChecker.h
@@ -44,15 +44,7 @@ class SiStripQualityChecker {
std::string detectorTag;
};
- struct TrackingMEs{
- std::string HistoName;
- MonitorElement* TrackingFlag;
- float LowerCut;
- float UpperCut;
- };
-
void fillDetectorStatus(DQMStore* dqm_store, const edm::ESHandle< SiStripDetCabling >& cabling);
- void fillTrackingStatus(DQMStore* dqm_store);
void fillSubDetStatus(DQMStore* dqm_store,const edm::ESHandle< SiStripDetCabling >& cabling, SubDetMEs& mes, unsigned int xbin,float& gflag);
void getModuleStatus(DQMStore* dqm_store, std::vector& layer_mes, int& errdet);
@@ -60,11 +52,9 @@ class SiStripQualityChecker {
void initialiseBadModuleList();
void fillDetectorStatusAtLumi(DQMStore* dqm_store);
- void fillTrackingStatusAtLumi(DQMStore* dqm_store);
std::map SubDetMEsMap;
std::map SubDetFolderMap;
- std::map TrackingMEsMap;
MonitorElement* DetFractionReportMap;
MonitorElement* SToNReportMap;
@@ -81,7 +71,6 @@ class SiStripQualityChecker {
edm::ParameterSet pSet_;
bool bookedStripStatus_;
- bool bookedTrackingStatus_;
int globalStatusFilling_;
bool useGoodTracks_;
diff --git a/DQM/SiStripMonitorClient/interface/SiStripUtility.h b/DQM/SiStripMonitorClient/interface/SiStripUtility.h
index b91e216f565e1..0795f17411e18 100644
--- a/DQM/SiStripMonitorClient/interface/SiStripUtility.h
+++ b/DQM/SiStripMonitorClient/interface/SiStripUtility.h
@@ -38,7 +38,7 @@ class SiStripUtility
static void getSubDetectorTag(uint32_t det_id, std::string& subdet_tag, const TrackerTopology* tTopo);
static void setBadModuleFlag(std::string & hname, uint16_t& flg);
static void getBadModuleStatus(uint16_t flag, std::string& message);
- static void getTopFolderPath(DQMStore* dqm_store, std::string type, std::string& path);
+ static void getTopFolderPath(DQMStore* dqm_store, std::string top_dir, std::string& path);
};
#endif
diff --git a/DQM/SiStripMonitorClient/python/SiStripSourceConfigTier0_cff.py b/DQM/SiStripMonitorClient/python/SiStripSourceConfigTier0_cff.py
index 6266e7d2ffb65..457fc7769a73a 100644
--- a/DQM/SiStripMonitorClient/python/SiStripSourceConfigTier0_cff.py
+++ b/DQM/SiStripMonitorClient/python/SiStripSourceConfigTier0_cff.py
@@ -103,34 +103,6 @@
MonitorTrackResiduals.errorReplyHlt = cms.bool( False )
MonitorTrackResiduals.andOrHlt = cms.bool(True)
-# Clone for TrackingMonitor for all PDs but MinBias and Jet ####
-import DQM.TrackingMonitor.TrackerCollisionTrackingMonitor_cfi
-TrackerCollisionTrackMonCommon = DQM.TrackingMonitor.TrackerCollisionTrackingMonitor_cfi.TrackerCollisionTrackMon.clone()
-TrackerCollisionTrackMonCommon.FolderName = 'Tracking/TrackParameters'
-TrackerCollisionTrackMonCommon.andOr = cms.bool( False )
-TrackerCollisionTrackMonCommon.dcsInputTag = cms.InputTag( "scalersRawToDigi" )
-TrackerCollisionTrackMonCommon.dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29)
-TrackerCollisionTrackMonCommon.andOrDcs = cms.bool( False )
-TrackerCollisionTrackMonCommon.errorReplyDcs = cms.bool( True )
-
-# Clone for TrackingMonitor for MinBias ###
-import DQM.TrackingMonitor.TrackerCollisionTrackingMonitor_cfi
-TrackerCollisionTrackMonMB = DQM.TrackingMonitor.TrackerCollisionTrackingMonitor_cfi.TrackerCollisionTrackMon.clone()
-TrackerCollisionTrackMonMB.FolderName = 'Tracking/TrackParameters'
-TrackerCollisionTrackMonMB.andOr = cms.bool( False )
-TrackerCollisionTrackMonMB.dcsInputTag = cms.InputTag( "scalersRawToDigi" )
-TrackerCollisionTrackMonMB.dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29)
-TrackerCollisionTrackMonMB.andOrDcs = cms.bool( False )
-TrackerCollisionTrackMonMB.errorReplyDcs = cms.bool( True )
-TrackerCollisionTrackMonMB.dbLabel = cms.string("SiStripDQMTrigger")
-TrackerCollisionTrackMonMB.hltInputTag = cms.InputTag( "TriggerResults::HLT" )
-TrackerCollisionTrackMonMB.hltPaths = cms.vstring("HLT_ZeroBias_*")
-TrackerCollisionTrackMonMB.hltDBKey = cms.string("Tracker_MB")
-TrackerCollisionTrackMonMB.errorReplyHlt = cms.bool( False )
-TrackerCollisionTrackMonMB.andOrHlt = cms.bool(True)
-
-from DQM.TrackingMonitor.TrackingMonitorSeedNumber_cff import *
-
# DQM Services
dqmInfoSiStrip = cms.EDAnalyzer("DQMEventInfo",
subSystemFolder = cms.untracked.string('SiStrip')
@@ -146,209 +118,22 @@
# APV Phase Producer
from DPGAnalysis.SiStripTools.apvcyclephaseproducerfroml1ts2011_cfi import *
-# LogMessageMonitor ####
-from DQM.TrackingMonitor.LogMessageMonitor_cff import *
-### LocalReco
-# Clone for all PDs but MinBias ####
-LocalRecoLogMessageMonCommon = DQM.TrackingMonitor.LogMessageMonitor_cff.LocalRecoLogMessageMon.clone()
-LocalRecoLogMessageMonCommon.andOr = cms.bool( False )
-LocalRecoLogMessageMonCommon.dcsInputTag = cms.InputTag( "scalersRawToDigi" )
-LocalRecoLogMessageMonCommon.dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29)
-LocalRecoLogMessageMonCommon.andOrDcs = cms.bool( False )
-LocalRecoLogMessageMonCommon.errorReplyDcs = cms.bool( True )
-
-# Clone for MinBias ###
-LocalRecoLogMessageMonMB = DQM.TrackingMonitor.LogMessageMonitor_cff.LocalRecoLogMessageMon.clone()
-LocalRecoLogMessageMonMB.andOr = cms.bool( False )
-LocalRecoLogMessageMonMB.dcsInputTag = cms.InputTag( "scalersRawToDigi" )
-LocalRecoLogMessageMonMB.dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29)
-LocalRecoLogMessageMonMB.andOrDcs = cms.bool( False )
-LocalRecoLogMessageMonMB.errorReplyDcs = cms.bool( True )
-LocalRecoLogMessageMonMB.dbLabel = cms.string("SiStripDQMTrigger")
-LocalRecoLogMessageMonMB.hltInputTag = cms.InputTag( "TriggerResults::HLT" )
-LocalRecoLogMessageMonMB.hltPaths = cms.vstring("HLT_ZeroBias_*")
-LocalRecoLogMessageMonMB.hltDBKey = cms.string("Tracker_MB")
-LocalRecoLogMessageMonMB.errorReplyHlt = cms.bool( False )
-LocalRecoLogMessageMonMB.andOrHlt = cms.bool(True)
-
-### Clusterizer
-# Clone for all PDs but MinBias ####
-ClusterizerLogMessageMonCommon = DQM.TrackingMonitor.LogMessageMonitor_cff.ClusterizerLogMessageMon.clone()
-ClusterizerLogMessageMonCommon.andOr = cms.bool( False )
-ClusterizerLogMessageMonCommon.dcsInputTag = cms.InputTag( "scalersRawToDigi" )
-ClusterizerLogMessageMonCommon.dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29)
-ClusterizerLogMessageMonCommon.andOrDcs = cms.bool( False )
-ClusterizerLogMessageMonCommon.errorReplyDcs = cms.bool( True )
-
-# Clone for MinBias ###
-ClusterizerLogMessageMonMB = DQM.TrackingMonitor.LogMessageMonitor_cff.ClusterizerLogMessageMon.clone()
-ClusterizerLogMessageMonMB.andOr = cms.bool( False )
-ClusterizerLogMessageMonMB.dcsInputTag = cms.InputTag( "scalersRawToDigi" )
-ClusterizerLogMessageMonMB.dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29)
-ClusterizerLogMessageMonMB.andOrDcs = cms.bool( False )
-ClusterizerLogMessageMonMB.errorReplyDcs = cms.bool( True )
-ClusterizerLogMessageMonMB.dbLabel = cms.string("SiStripDQMTrigger")
-ClusterizerLogMessageMonMB.hltInputTag = cms.InputTag( "TriggerResults::HLT" )
-ClusterizerLogMessageMonMB.hltPaths = cms.vstring("HLT_ZeroBias_*")
-ClusterizerLogMessageMonMB.hltDBKey = cms.string("Tracker_MB")
-ClusterizerLogMessageMonMB.errorReplyHlt = cms.bool( False )
-ClusterizerLogMessageMonMB.andOrHlt = cms.bool(True)
-
-### Seeding
-# Clone for all PDs but MinBias ####
-SeedingLogMessageMonCommon = DQM.TrackingMonitor.LogMessageMonitor_cff.SeedingLogMessageMon.clone()
-SeedingLogMessageMonCommon.andOr = cms.bool( False )
-SeedingLogMessageMonCommon.dcsInputTag = cms.InputTag( "scalersRawToDigi" )
-SeedingLogMessageMonCommon.dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29)
-SeedingLogMessageMonCommon.andOrDcs = cms.bool( False )
-SeedingLogMessageMonCommon.errorReplyDcs = cms.bool( True )
-
-# Clone for MinBias ###
-SeedingLogMessageMonMB = DQM.TrackingMonitor.LogMessageMonitor_cff.SeedingLogMessageMon.clone()
-SeedingLogMessageMonMB.andOr = cms.bool( False )
-SeedingLogMessageMonMB.dcsInputTag = cms.InputTag( "scalersRawToDigi" )
-SeedingLogMessageMonMB.dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29)
-SeedingLogMessageMonMB.andOrDcs = cms.bool( False )
-SeedingLogMessageMonMB.errorReplyDcs = cms.bool( True )
-SeedingLogMessageMonMB.dbLabel = cms.string("SiStripDQMTrigger")
-SeedingLogMessageMonMB.hltInputTag = cms.InputTag( "TriggerResults::HLT" )
-SeedingLogMessageMonMB.hltPaths = cms.vstring("HLT_ZeroBias_*")
-SeedingLogMessageMonMB.hltDBKey = cms.string("Tracker_MB")
-SeedingLogMessageMonMB.errorReplyHlt = cms.bool( False )
-SeedingLogMessageMonMB.andOrHlt = cms.bool(True)
-
-### TrackCandidate
-# Clone for all PDs but MinBias ####
-TrackCandidateLogMessageMonCommon = DQM.TrackingMonitor.LogMessageMonitor_cff.TrackCandidateLogMessageMon.clone()
-TrackCandidateLogMessageMonCommon.andOr = cms.bool( False )
-TrackCandidateLogMessageMonCommon.dcsInputTag = cms.InputTag( "scalersRawToDigi" )
-TrackCandidateLogMessageMonCommon.dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29)
-TrackCandidateLogMessageMonCommon.andOrDcs = cms.bool( False )
-TrackCandidateLogMessageMonCommon.errorReplyDcs = cms.bool( True )
-
-# Clone for MinBias ###
-TrackCandidateLogMessageMonMB = DQM.TrackingMonitor.LogMessageMonitor_cff.TrackCandidateLogMessageMon.clone()
-TrackCandidateLogMessageMonMB.andOr = cms.bool( False )
-TrackCandidateLogMessageMonMB.dcsInputTag = cms.InputTag( "scalersRawToDigi" )
-TrackCandidateLogMessageMonMB.dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29)
-TrackCandidateLogMessageMonMB.andOrDcs = cms.bool( False )
-TrackCandidateLogMessageMonMB.errorReplyDcs = cms.bool( True )
-TrackCandidateLogMessageMonMB.dbLabel = cms.string("SiStripDQMTrigger")
-TrackCandidateLogMessageMonMB.hltInputTag = cms.InputTag( "TriggerResults::HLT" )
-TrackCandidateLogMessageMonMB.hltPaths = cms.vstring("HLT_ZeroBias_*")
-TrackCandidateLogMessageMonMB.hltDBKey = cms.string("Tracker_MB")
-TrackCandidateLogMessageMonMB.errorReplyHlt = cms.bool( False )
-TrackCandidateLogMessageMonMB.andOrHlt = cms.bool(True)
-
-### TrackFinder
-# Clone for all PDs but MinBias ####
-TrackFinderLogMessageMonCommon = DQM.TrackingMonitor.LogMessageMonitor_cff.TrackFinderLogMessageMon.clone()
-TrackFinderLogMessageMonCommon.andOr = cms.bool( False )
-TrackFinderLogMessageMonCommon.dcsInputTag = cms.InputTag( "scalersRawToDigi" )
-TrackFinderLogMessageMonCommon.dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29)
-TrackFinderLogMessageMonCommon.andOrDcs = cms.bool( False )
-TrackFinderLogMessageMonCommon.errorReplyDcs = cms.bool( True )
-
-# Clone for MinBias ###
-TrackFinderLogMessageMonMB = DQM.TrackingMonitor.LogMessageMonitor_cff.TrackFinderLogMessageMon.clone()
-TrackFinderLogMessageMonMB.andOr = cms.bool( False )
-TrackFinderLogMessageMonMB.dcsInputTag = cms.InputTag( "scalersRawToDigi" )
-TrackFinderLogMessageMonMB.dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29)
-TrackFinderLogMessageMonMB.andOrDcs = cms.bool( False )
-TrackFinderLogMessageMonMB.errorReplyDcs = cms.bool( True )
-TrackFinderLogMessageMonMB.dbLabel = cms.string("SiStripDQMTrigger")
-TrackFinderLogMessageMonMB.hltInputTag = cms.InputTag( "TriggerResults::HLT" )
-TrackFinderLogMessageMonMB.hltPaths = cms.vstring("HLT_ZeroBias_*")
-TrackFinderLogMessageMonMB.hltDBKey = cms.string("Tracker_MB")
-TrackFinderLogMessageMonMB.errorReplyHlt = cms.bool( False )
-TrackFinderLogMessageMonMB.andOrHlt = cms.bool(True)
-
-# dEdx monitor ####
-from DQM.TrackingMonitor.dEdxAnalyzer_cff import *
-import DQM.TrackingMonitor.dEdxAnalyzer_cfi
-# Clone for all PDs but MinBias ####
-dEdxMonCommon = DQM.TrackingMonitor.dEdxAnalyzer_cfi.dEdxAnalyzer.clone()
-
-# Clone for MinBias ####
-dEdxMonMB = DQM.TrackingMonitor.dEdxAnalyzer_cfi.dEdxAnalyzer.clone()
-dEdxMonMB.dEdxParameters.andOr = cms.bool( False )
-dEdxMonMB.dEdxParameters.hltInputTag = cms.InputTag( "TriggerResults::HLT" )
-dEdxMonMB.dEdxParameters.hltPaths = cms.vstring("HLT_ZeroBias_*")
-dEdxMonMB.dEdxParameters.hltDBKey = cms.string("Tracker_MB")
-dEdxMonMB.dEdxParameters.errorReplyHlt = cms.bool( False )
-dEdxMonMB.dEdxParameters.andOrHlt = cms.bool(True)
-
-# Clone for SingleMu ####
-dEdxMonMU = DQM.TrackingMonitor.dEdxAnalyzer_cfi.dEdxAnalyzer.clone()
-dEdxMonMU.dEdxParameters.andOr = cms.bool( False )
-dEdxMonMU.dEdxParameters.hltInputTag = cms.InputTag( "TriggerResults::HLT" )
-dEdxMonMU.dEdxParameters.hltPaths = cms.vstring("HLT_SingleMu40_Eta2p1_*")
-dEdxMonMU.dEdxParameters.errorReplyHlt = cms.bool( False )
-dEdxMonMU.dEdxParameters.andOrHlt = cms.bool(True)
-
-
# temporary patch in order to have BXlumi
from RecoLuminosity.LumiProducer.lumiProducer_cff import *
-# temporary test in order to temporary produce the "goodPrimaryVertexCollection"
-# define with a new name if changes are necessary, otherwise simply include
-# it from CommonTools/ParticleFlow/python/goodOfflinePrimaryVertices_cfi.py
-# uncomment when necessary
-from PhysicsTools.SelectorUtils.pvSelector_cfi import pvSelector
-from CommonTools.ParticleFlow.goodOfflinePrimaryVertices_cfi import goodOfflinePrimaryVertices
-trackingDQMgoodOfflinePrimaryVertices = goodOfflinePrimaryVertices.clone()
-trackingDQMgoodOfflinePrimaryVertices.filterParams = pvSelector.clone( minNdof = cms.double(4.0), maxZ = cms.double(24.0) )
-trackingDQMgoodOfflinePrimaryVertices.src=cms.InputTag('offlinePrimaryVertices')
-trackingDQMgoodOfflinePrimaryVertices.filter = cms.bool(False)
-
# Sequence
SiStripDQMTier0 = cms.Sequence(
APVPhases*consecutiveHEs*siStripFEDCheck*siStripFEDMonitor*SiStripMonitorDigi*SiStripMonitorClusterBPTX
*SiStripMonitorTrackCommon*MonitorTrackResiduals
- # dEdx monitoring
-# *RefitterForDedxDQMDeDx * dedxDQMHarm2SP * dedxDQMHarm2SO * dedxDQMHarm2PO * dEdxMonCommon
- * dedxDQMHarm2SP * dedxDQMHarm2SO * dedxDQMHarm2PO * dEdxMonCommon
-
-# # temporary patch in order to have BXlumi
-# * lumiProducer
- # temporary test in order to have the "goodPrimaryVertexCollection"
-# * trackingDQMgoodOfflinePrimaryVertices
- *TrackerCollisionTrackMonCommon
- *TrackMonStep0*TrackMonStep1*TrackMonStep2*TrackMonStep3*TrackMonStep4*TrackMonStep5*TrackMonStep6*TrackMonStep9*TrackMonStep10
- # MessageLog
- * LocalRecoLogMessageMonCommon * ClusterizerLogMessageMonCommon * SeedingLogMessageMonCommon * TrackCandidateLogMessageMonCommon * TrackFinderLogMessageMonCommon
*dqmInfoSiStrip)
SiStripDQMTier0Common = cms.Sequence(
APVPhases*consecutiveHEs*siStripFEDCheck*siStripFEDMonitor*SiStripMonitorDigi*SiStripMonitorClusterBPTX
*SiStripMonitorTrackCommon
- # dEdx monitoring
-# *RefitterForDedxDQMDeDx * dedxDQMHarm2SP * dedxDQMHarm2SO * dedxDQMHarm2PO * dEdxMonCommon
- * dedxDQMHarm2SP * dedxDQMHarm2SO * dedxDQMHarm2PO * dEdxMonCommon
-
-# # temporary patch in order to have BXlumi
-# * lumiProducer
-# # temporary test in order to have the "goodPrimaryVertexCollection"
-# * trackingDQMgoodOfflinePrimaryVertices
- *TrackerCollisionTrackMonCommon
- *TrackMonStep0*TrackMonStep1*TrackMonStep2*TrackMonStep3*TrackMonStep4*TrackMonStep5*TrackMonStep6*TrackMonStep9*TrackMonStep10
- # MessageLog
- * LocalRecoLogMessageMonCommon * ClusterizerLogMessageMonCommon * SeedingLogMessageMonCommon * TrackCandidateLogMessageMonCommon * TrackFinderLogMessageMonCommon
*dqmInfoSiStrip)
SiStripDQMTier0MinBias = cms.Sequence(
APVPhases*consecutiveHEs*siStripFEDCheck*siStripFEDMonitor*SiStripMonitorDigi*SiStripMonitorClusterBPTX
*SiStripMonitorTrackMB*MonitorTrackResiduals
- # dEdx monitoring
-# *RefitterForDedxDQMDeDx * dedxDQMHarm2SP * dedxDQMHarm2SO * dedxDQMHarm2PO * dEdxMonMB
- * dedxDQMHarm2SP * dedxDQMHarm2SO * dedxDQMHarm2PO * dEdxMonMB
-
-# * lumiProducer
-# # temporary test in order to have the "goodPrimaryVertexCollection"
-# * trackingDQMgoodOfflinePrimaryVertices
- *TrackerCollisionTrackMonMB
- *TrackMonStep0*TrackMonStep1*TrackMonStep2*TrackMonStep3*TrackMonStep4*TrackMonStep5*TrackMonStep6*TrackMonStep9*TrackMonStep10
- # MessageLog
- * LocalRecoLogMessageMonMB * ClusterizerLogMessageMonMB * SeedingLogMessageMonMB * TrackCandidateLogMessageMonMB * TrackFinderLogMessageMonMB
*dqmInfoSiStrip)
diff --git a/DQM/SiStripMonitorClient/src/SiStripCertificationInfo.cc b/DQM/SiStripMonitorClient/src/SiStripCertificationInfo.cc
index bb6811d7a9ffa..d0947e6163ed7 100644
--- a/DQM/SiStripMonitorClient/src/SiStripCertificationInfo.cc
+++ b/DQM/SiStripMonitorClient/src/SiStripCertificationInfo.cc
@@ -35,7 +35,6 @@ SiStripCertificationInfo::SiStripCertificationInfo(edm::ParameterSet const& pSet
edm::LogInfo( "SiStripCertificationInfo") << "SiStripCertificationInfo::Deleting SiStripCertificationInfo ";
// get back-end interface
dqmStore_ = edm::Service().operator->();
- trackingCertificationBooked_ = false;
sistripCertificationBooked_ = false;
}
SiStripCertificationInfo::~SiStripCertificationInfo() {
@@ -81,9 +80,7 @@ void SiStripCertificationInfo::beginRun(edm::Run const& run, edm::EventSetup con
}
bookSiStripCertificationMEs();
- bookTrackingCertificationMEs();
fillDummySiStripCertification();
- fillDummyTrackingCertification();
}
//
@@ -168,38 +165,6 @@ void SiStripCertificationInfo::bookSiStripCertificationMEs() {
}
}
//
-// -- Book MEs for SiStrip Sertification fractions
-//
-void SiStripCertificationInfo::bookTrackingCertificationMEs() {
- if (!trackingCertificationBooked_) {
- std::string tracking_dir = "";
- SiStripUtility::getTopFolderPath(dqmStore_, "Tracking", tracking_dir);
- if (tracking_dir.size() > 0) {
- dqmStore_->setCurrentFolder(tracking_dir+"/EventInfo");
- TrackingCertification = dqmStore_->bookFloat("CertificationSummary");
-
- dqmStore_->setCurrentFolder(tracking_dir+"/EventInfo/CertificationContents");
-
- std::string type;
- MonitorElement* me;
- type = "Rate";
- me = dqmStore_->bookFloat("Track"+type);
- TrackingMEsMap.insert(std::pair(type,me));
-
- type = "Chi2";
- me = dqmStore_->bookFloat("Track"+type);
- TrackingMEsMap.insert(std::pair(type,me));
-
- type = "RecHits";
- me = dqmStore_->bookFloat("Track"+type);
- TrackingMEsMap.insert(std::pair(type,me));
-
- trackingCertificationBooked_ = true;
- dqmStore_->cd();
- }
- }
-}
-//
// -- Analyze
//
void SiStripCertificationInfo::analyze(edm::Event const& event, edm::EventSetup const& eSetup) {
@@ -208,11 +173,11 @@ void SiStripCertificationInfo::analyze(edm::Event const& event, edm::EventSetup
// -- End Luminosity Block
//
void SiStripCertificationInfo::endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& iSetup) {
+ std::cout << "[SiStripCertificationInfo::endLuminosityBlock] " << std::endl;
edm::LogInfo( "SiStripDaqInfo") << "SiStripDaqInfo::endLuminosityBlock";
if (nFEDConnected_ > 0) {
fillSiStripCertificationMEsAtLumi();
- fillTrackingCertificationMEs(iSetup);
}
}
@@ -224,45 +189,7 @@ void SiStripCertificationInfo::endRun(edm::Run const& run, edm::EventSetup const
if (nFEDConnected_ > 0) {
fillSiStripCertificationMEs(eSetup);
- fillTrackingCertificationMEs(eSetup);
- }
-}
-//
-// --Fill Tracking Certification
-//
-void SiStripCertificationInfo::fillTrackingCertificationMEs(edm::EventSetup const& eSetup) {
- if (!trackingCertificationBooked_) {
- edm::LogError("SiStripCertificationInfo") << " SiStripCertificationInfo::fillTrackingCertificationMEs : MEs missing ";
- return;
}
- std::string tk_dir = "";
- SiStripUtility::getTopFolderPath(dqmStore_, "Tracking", tk_dir);
- if (tk_dir.size() == 0) {
- fillDummyTrackingCertification();
- return;
- }
-
- std::vector all_mes = dqmStore_->getContents(tk_dir+"/EventInfo/reportSummaryContents");
- float fval = 1.0;
- for (std::vector::const_iterator it = all_mes.begin();
- it!= all_mes.end(); it++) {
- MonitorElement * me = (*it);
- if (!me) continue;
- if (me->kind() == MonitorElement::DQM_KIND_REAL) {
- std::string name = me->getName();
- float val = me->getFloatValue();
- for (std::map::const_iterator it = TrackingMEsMap.begin();
- it != TrackingMEsMap.end(); it++) {
- std::string type = it->first;
- if (name.find(type) != std::string::npos) {
- it->second->Fill(val);
- break;
- }
- }
- fval *= val;
- }
- }
- TrackingCertification->Fill(fval);
}
//
// --Fill SiStrip Certification
@@ -347,19 +274,6 @@ void SiStripCertificationInfo::fillSiStripCertificationMEs(edm::EventSetup const
SiStripCertification->Fill(fminf(fraction_global,ston_frac_global));
}
//
-// --Reset Tracking Certification
-//
-void SiStripCertificationInfo::resetTrackingCertificationMEs() {
- if (!trackingCertificationBooked_) bookTrackingCertificationMEs();
- if (trackingCertificationBooked_) {
- TrackingCertification->Reset();
- for (std::map::const_iterator it = TrackingMEsMap.begin();
- it != TrackingMEsMap.end(); it++) {
- it->second->Reset();
- }
- }
-}
-//
// --Fill SiStrip Certification
//
void SiStripCertificationInfo::resetSiStripCertificationMEs() {
@@ -394,20 +308,6 @@ void SiStripCertificationInfo::fillDummySiStripCertification() {
}
}
//
-// -- Fill Dummy Tracking Certification
-//
-void SiStripCertificationInfo::fillDummyTrackingCertification() {
- resetTrackingCertificationMEs();
- if (trackingCertificationBooked_) {
- TrackingCertification->Fill(-1.0);
- for (std::map::const_iterator it = TrackingMEsMap.begin();
- it != TrackingMEsMap.end(); it++) {
- it->second->Fill(-1.0);
- }
-
- }
-}
-//
// --Fill SiStrip Certification
//
void SiStripCertificationInfo::fillSiStripCertificationMEsAtLumi() {
diff --git a/DQM/SiStripMonitorClient/src/SiStripQualityChecker.cc b/DQM/SiStripMonitorClient/src/SiStripQualityChecker.cc
index 72632666154a1..8087fedc35f20 100644
--- a/DQM/SiStripMonitorClient/src/SiStripQualityChecker.cc
+++ b/DQM/SiStripMonitorClient/src/SiStripQualityChecker.cc
@@ -28,7 +28,6 @@ SiStripQualityChecker::SiStripQualityChecker(edm::ParameterSet const& ps):pSet_(
" Creating SiStripQualityChecker " << "\n" ;
bookedStripStatus_ = false;
- bookedTrackingStatus_ = false;
SubDetFolderMap.insert(std::pair("TIB", "TIB"));
SubDetFolderMap.insert(std::pair("TOB", "TOB"));
@@ -47,54 +46,6 @@ SiStripQualityChecker::SiStripQualityChecker(edm::ParameterSet const& ps):pSet_(
}
tkDetMap_=edm::Service().operator->();
- TrackingMEs tracking_mes;
- edm::ParameterSet TkPSet;
-
- TkPSet = pSet_.getParameter("TrackRatePSet");
- tracking_mes.TrackingFlag = 0;
- tracking_mes.HistoName = TkPSet.getParameter("Name");
- tracking_mes.LowerCut = TkPSet.getParameter("LowerCut");
- tracking_mes.UpperCut = TkPSet.getParameter("UpperCut");
- TrackingMEsMap.insert(std::pair("Rate", tracking_mes));
-
- TkPSet = pSet_.getParameter("TrackChi2PSet");
- tracking_mes.TrackingFlag = 0;
- tracking_mes.HistoName = TkPSet.getParameter("Name");
- tracking_mes.LowerCut = TkPSet.getParameter("LowerCut");
- tracking_mes.UpperCut = TkPSet.getParameter("UpperCut");
- TrackingMEsMap.insert(std::pair("Chi2", tracking_mes));
-
- TkPSet = pSet_.getParameter("TrackHitPSet");
- tracking_mes.TrackingFlag = 0;
- tracking_mes.HistoName = TkPSet.getParameter("Name");
- tracking_mes.LowerCut = TkPSet.getParameter("LowerCut");
- tracking_mes.UpperCut = TkPSet.getParameter("UpperCut");
- TrackingMEsMap.insert(std::pair("RecHits", tracking_mes));
-
-// // LS analysis
-// TkPSet = pSet_.getParameter("TrackRateLSPSet");
-// tracking_mes.TrackingFlag = 0;
-// tracking_mes.HistoName = TkPSet.getParameter("Name");
-// tracking_mes.LowerCut = TkPSet.getParameter("LowerCut");
-// tracking_mes.UpperCut = TkPSet.getParameter("UpperCut");
-// TrackingMEsLSMap.insert(std::pair("Rate", tracking_mes));
-//
-// TkPSet = pSet_.getParameter("TrackChi2LSPSet");
-// tracking_mes.TrackingFlag = 0;
-// tracking_mes.HistoName = TkPSet.getParameter("Name");
-// tracking_mes.LowerCut = TkPSet.getParameter("LowerCut");
-// tracking_mes.UpperCut = TkPSet.getParameter("UpperCut");
-// TrackingMEsLSMap.insert(std::pair("Chi2", tracking_mes));
-//
-// TkPSet = pSet_.getParameter("TrackHitLSPSet");
-// tracking_mes.TrackingFlag = 0;
-// tracking_mes.HistoName = TkPSet.getParameter("Name");
-// tracking_mes.LowerCut = TkPSet.getParameter("LowerCut");
-// tracking_mes.UpperCut = TkPSet.getParameter("UpperCut");
-// TrackingMEsLSMap.insert(std::pair("RecHits", tracking_mes));
-
- useGoodTracks_ = pSet_.getUntrackedParameter("UseGoodTracks", false);
- if (useGoodTracks_) edm::LogInfo("SiStripQualityChecker") << " use GoodTrack histograms for certification " << "\n" ;
}
//
// -- Destructor
@@ -172,38 +123,6 @@ void SiStripQualityChecker::bookStatus(DQMStore* dqm_store) {
}
bookedStripStatus_ = true;
}
- if (!bookedTrackingStatus_) {
- dqm_store->cd();
- std::string tracking_dir = "";
- SiStripUtility::getTopFolderPath(dqm_store, "Tracking", tracking_dir);
- if (tracking_dir.size() == 0) tracking_dir = "Tracking";
- dqm_store->setCurrentFolder(tracking_dir+"/EventInfo");
-
- TrackSummaryReportGlobal = dqm_store->bookFloat("reportSummary");
-
- std::string hname, htitle;
- hname = "reportSummaryMap";
- htitle = "Tracking Report Summary Map";
-
- TrackSummaryReportMap = dqm_store->book2D(hname, htitle, 3,0.5,3.5,1,0.5,1.5);
- TrackSummaryReportMap->setAxisTitle("Track Quality Type", 1);
- TrackSummaryReportMap->setAxisTitle("QTest Flag", 2);
- TrackSummaryReportMap->setBinLabel(1,"Rate");
- TrackSummaryReportMap->setBinLabel(2,"Chi2");
- TrackSummaryReportMap->setBinLabel(3,"RecHits");
-
- dqm_store->setCurrentFolder(tracking_dir+"/EventInfo/reportSummaryContents");
- int ibin = 0;
- for (std::map::iterator it = TrackingMEsMap.begin();
- it != TrackingMEsMap.end(); it++) {
- ibin++;
- std::string name = it->first;
- it->second.TrackingFlag = dqm_store->bookFloat("Track"+name);
- TrackSummaryReportMap->setBinLabel(ibin,name);
- }
- bookedTrackingStatus_ = true;
- dqm_store->cd();
- }
}
//
// -- Fill Dummy Status
@@ -215,38 +134,20 @@ void SiStripQualityChecker::fillDummyStatus(){
for (std::map::const_iterator it = SubDetMEsMap.begin();
it != SubDetMEsMap.end(); it++) {
SubDetMEs local_mes = it->second;
- local_mes.DetFraction->Fill(-1.0);
- local_mes.SToNFlag->Fill(-1.0);
- local_mes.SummaryFlag->Fill(-1.0);
+ local_mes.SummaryFlag -> Fill(-1.0);
+ local_mes.DetFraction -> Fill(-1.0);
+ local_mes.SToNFlag -> Fill(-1.0);
}
for (int xbin = 1; xbin < SummaryReportMap->getNbinsX()+1; xbin++) {
for (int ybin = 1; ybin < SummaryReportMap->getNbinsY()+1; ybin++) {
- DetFractionReportMap->Fill(xbin, ybin, -1.0);
- SToNReportMap->Fill(xbin, ybin, -1.0);
- SummaryReportMap->Fill(xbin, ybin, -1.0);
+ SummaryReportMap -> Fill(xbin, ybin, -1.0);
+ DetFractionReportMap -> Fill(xbin, ybin, -1.0);
+ SToNReportMap -> Fill(xbin, ybin, -1.0);
}
}
SummaryReportGlobal->Fill(-1.0);
}
- if (bookedTrackingStatus_) {
- TrackSummaryReportGlobal->Fill(-1.0);
- for (int xbin = 1; xbin < TrackSummaryReportMap->getNbinsX()+1; xbin++) {
- for (int ybin = 1; ybin < TrackSummaryReportMap->getNbinsY()+1; ybin++) {
- TrackSummaryReportMap->Fill(xbin, ybin, -1.0);
- }
- }
- for (std::map::iterator it = TrackingMEsMap.begin();
- it != TrackingMEsMap.end(); it++) {
- it->second.TrackingFlag->Fill(-1.0);
- }
- /*
- for (std::map::iterator it = TrackingMEsLSMap.begin();
- it != TrackingMEsLSMap.end(); it++) {
- it->second.TrackingFlag->Fill(-1.0);
- }
- */
- }
}
//
// -- Reset Status
@@ -256,41 +157,25 @@ void SiStripQualityChecker::resetStatus() {
for (std::map::const_iterator it = SubDetMEsMap.begin();
it != SubDetMEsMap.end(); it++) {
SubDetMEs local_mes = it->second;
- local_mes.DetFraction->Reset();
- local_mes.SToNFlag->Reset();
- local_mes.SummaryFlag->Reset();
+ local_mes.DetFraction -> Reset();
+ local_mes.SummaryFlag -> Reset();
+ local_mes.SToNFlag -> Reset();
}
-
+ SummaryReportMap->Reset();
DetFractionReportMap->Reset();
SToNReportMap->Reset();
- SummaryReportMap->Reset();
SummaryReportGlobal->Reset();
}
- if (bookedTrackingStatus_) {
- TrackSummaryReportGlobal->Reset();
- TrackSummaryReportMap->Reset();
- for (std::map::iterator it = TrackingMEsMap.begin();
- it != TrackingMEsMap.end(); it++) {
- it->second.TrackingFlag->Reset();
- }
- /*
- for (std::map::iterator it = TrackingMEsLSMap.begin();
- it != TrackingMEsLSMap.end(); it++) {
- it->second.TrackingFlag->Reset();
- }
- */
- }
}
//
// -- Fill Status
//
void SiStripQualityChecker::fillStatus(DQMStore* dqm_store, const edm::ESHandle< SiStripDetCabling >& cabling, const edm::EventSetup& eSetup) {
- if (!bookedStripStatus_ || !bookedTrackingStatus_) bookStatus(dqm_store);
+ if (!bookedStripStatus_) bookStatus(dqm_store);
fillDummyStatus();
fillDetectorStatus(dqm_store, cabling);
- fillTrackingStatus(dqm_store);
int faulty_moduleflag = pSet_.getUntrackedParameter("PrintFaultyModuleList", false);
if (faulty_moduleflag) fillFaultyModuleStatus(dqm_store, eSetup);
@@ -326,63 +211,13 @@ void SiStripQualityChecker::fillDetectorStatus(DQMStore* dqm_store, const edm::E
dqm_store->cd();
}
//
-// -- Fill Tracking Status
-//
-void SiStripQualityChecker::fillTrackingStatus(DQMStore* dqm_store) {
-
- dqm_store->cd();
- std::string dir = "Tracking";
- if (!SiStripUtility::goToDir(dqm_store, dir)) return;
- dir = "TrackParameters";
- if (!SiStripUtility::goToDir(dqm_store, dir)) return;
-
- std::vector meVec1;
- std::vector meVec2;
- if (useGoodTracks_){
- meVec1 = dqm_store->getContents(dqm_store->pwd()+"/GeneralProperties/GoodTracks");
- meVec2 = dqm_store->getContents(dqm_store->pwd()+"/HitProperties/GoodTracks");
- }else{
- meVec1 = dqm_store->getContents(dqm_store->pwd()+"/GeneralProperties");
- meVec2 = dqm_store->getContents(dqm_store->pwd()+"/HitProperties");
- }
- std::vector meVec(meVec1.size() + meVec2.size());
- std::merge(meVec1.begin(), meVec1.end(), meVec2.begin(), meVec2.end(), meVec.begin());
-
- float gstatus = 1.0;
- for (std::vector::const_iterator itME = meVec.begin(); itME != meVec.end(); itME++) {
- MonitorElement * me = (*itME);
- if (!me) continue;
- std::vector qt_reports = me->getQReports();
- if (qt_reports.size() == 0) continue;
- std::string name = me->getName();
-
- float status = 1.0;
-
- int ibin = 0;
- for (std::map::const_iterator it = TrackingMEsMap.begin();
- it != TrackingMEsMap.end(); it++) {
- ibin++;
- std::string hname = it->second.HistoName;
- if (name.find(hname) != std::string::npos) {
- status = qt_reports[0]->getQTresult();
- it->second.TrackingFlag->Fill(status);
- fillStatusHistogram(TrackSummaryReportMap, ibin, 1, status);
- break;
- }
- }
- gstatus = gstatus * status;
- }
- TrackSummaryReportGlobal->Fill(gstatus);
- dqm_store->cd();
-}
-//
// -- Fill Sub detector Reports
//
void SiStripQualityChecker::fillSubDetStatus(DQMStore* dqm_store,
- const edm::ESHandle< SiStripDetCabling >& cabling,
- SubDetMEs& mes, unsigned int xbin, float& gflag) {
+ const edm::ESHandle< SiStripDetCabling >& cabling,
+ SubDetMEs& mes, unsigned int xbin, float& gflag) {
+
int status_flag = pSet_.getUntrackedParameter("GlobalStatusFilling", 1);
-
if (status_flag < 1) return;
std::vector subDirVec = dqm_store->getSubdirs();
@@ -433,7 +268,7 @@ void SiStripQualityChecker::fillSubDetStatus(DQMStore* dqm_store,
fillStatusHistogram(SToNReportMap, xbin, ybin, ston_stat);
fillStatusHistogram(DetFractionReportMap, xbin, ybin, eff_fac);
if (ston_stat < 0) fillStatusHistogram(SummaryReportMap, xbin, ybin, eff_fac);
- else fillStatusHistogram(SummaryReportMap, xbin, ybin, ston_stat*eff_fac);
+ else fillStatusHistogram(SummaryReportMap, xbin, ybin, ston_stat*eff_fac);
tot_ndet += ndet;
tot_errdet += errdet;
@@ -616,20 +451,23 @@ void SiStripQualityChecker::initialiseBadModuleList() {
// -- Fill Status information and the lumi block
//
void SiStripQualityChecker::fillStatusAtLumi(DQMStore* dqm_store){
- if (!bookedStripStatus_ || !bookedTrackingStatus_) bookStatus(dqm_store);
+ if (!bookedStripStatus_) bookStatus(dqm_store);
fillDummyStatus();
fillDetectorStatusAtLumi(dqm_store);
- fillTrackingStatusAtLumi(dqm_store);
}
//
// Fill Detector Status MEs at the Lumi block
//
void SiStripQualityChecker::fillDetectorStatusAtLumi(DQMStore* dqm_store){
+
+
+
dqm_store->cd();
std::string rdir = "ReadoutView";
if (!SiStripUtility::goToDir(dqm_store, rdir)) return;
std::string fullpath = dqm_store->pwd()
- + "/FedSummary/PerLumiSection/"
+ // + "/FedSummary/PerLumiSection/"
+ + "/PerLumiSection/"
+ "lumiErrorFraction";
MonitorElement* me = dqm_store->get(fullpath);
if (me && me->kind() == MonitorElement::DQM_KIND_TH1F) {
@@ -643,9 +481,9 @@ void SiStripQualityChecker::fillDetectorStatusAtLumi(DQMStore* dqm_store){
float fraction = 1.0 - th1->GetBinContent(ibin);
global_fraction += fraction;
dets++;
- iPos->second.DetFraction->Fill(fraction);
- iPos->second.SToNFlag->Fill(-1.0);
- iPos->second.SummaryFlag->Fill(fraction);
+ iPos->second.DetFraction -> Fill(fraction);
+ iPos->second.SToNFlag -> Fill(-1.0);
+ iPos->second.SummaryFlag -> Fill(fraction);
}
}
global_fraction = global_fraction/dets;
@@ -653,54 +491,3 @@ void SiStripQualityChecker::fillDetectorStatusAtLumi(DQMStore* dqm_store){
}
dqm_store->cd();
}
-//
-// Fill Tracking Status MEs at the Lumi block
-//
-void SiStripQualityChecker::fillTrackingStatusAtLumi(DQMStore* dqm_store){
- dqm_store->cd();
- std::string dir = "Tracking";
- if (!SiStripUtility::goToDir(dqm_store, dir)) return;
- dir = "TrackParameters";
- if (!SiStripUtility::goToDir(dqm_store, dir)) return;
-
- std::vector meVec1;
- std::vector meVec2;
- if (useGoodTracks_){
- meVec1 = dqm_store->getContents(dqm_store->pwd()+"/LSanalysis");
- // meVec2 = dqm_store->getContents(dqm_store->pwd()+"/HitProperties/LSanalysis");
- }else{
- meVec1 = dqm_store->getContents(dqm_store->pwd()+"/GeneralProperties");
- meVec2 = dqm_store->getContents(dqm_store->pwd()+"/HitProperties");
- }
- std::vector meVec(meVec1.size() + meVec2.size());
- std::merge(meVec1.begin(), meVec1.end(), meVec2.begin(), meVec2.end(), meVec.begin());
-
- float gstatus = 1.0;
- for (std::vector::const_iterator itME = meVec.begin(); itME != meVec.end(); itME++) {
- MonitorElement * me = (*itME);
- if (!me) continue;
- std::string name = me->getName();
-
- float status = -1.0;
- int ibin = 0;
- for (std::map::const_iterator it = TrackingMEsMap.begin();
- it != TrackingMEsMap.end(); it++) {
- ibin++;
- std::string hname = it->second.HistoName+"lumiFlag_";
- float lower_cut = it->second.LowerCut;
- float upper_cut = it->second.UpperCut;
- if (name.find(hname) != std::string::npos) {
- if (me->getMean() <= lower_cut || me->getMean() > upper_cut) status = 0.0;
- else status = 1.0;
- it->second.TrackingFlag->Fill(status);
- fillStatusHistogram(TrackSummaryReportMap, ibin, 1, status);
- break;
- } else {
- }
- }
- if (status == -1.0) gstatus = -1.0;
- else gstatus = gstatus * status;
- }
- TrackSummaryReportGlobal->Fill(gstatus);
- dqm_store->cd();
-}
diff --git a/DQM/SiStripMonitorClient/src/SiStripUtility.cc b/DQM/SiStripMonitorClient/src/SiStripUtility.cc
index 6000ac11304bd..43d39d54529f5 100644
--- a/DQM/SiStripMonitorClient/src/SiStripUtility.cc
+++ b/DQM/SiStripMonitorClient/src/SiStripUtility.cc
@@ -301,36 +301,20 @@ void SiStripUtility::getBadModuleStatus(uint16_t flag, std::string & message){
//
// -- Set Event Info Folder
//
-void SiStripUtility::getTopFolderPath(DQMStore * dqm_store, std::string type, std::string& path) {
- if (type != "SiStrip" && type != "Tracking") return;
+void SiStripUtility::getTopFolderPath(DQMStore * dqm_store, std::string top_dir, std::string& path) {
+
path = "";
dqm_store->cd();
- if (type == "SiStrip") {
- if (dqm_store->dirExists(type)) {
- dqm_store->cd(type);
- path = dqm_store->pwd();
- } else {
- if (SiStripUtility::goToDir(dqm_store, type)) {
- std::string mdir = "MechanicalView";
- if (SiStripUtility::goToDir(dqm_store, mdir)) {
- path = dqm_store->pwd();
- path = path.substr(0, path.find(mdir)-1);
- }
+ if (dqm_store->dirExists(top_dir)) {
+ dqm_store->cd(top_dir);
+ path = dqm_store->pwd();
+ } else {
+ if (SiStripUtility::goToDir(dqm_store, top_dir)) {
+ std::string mdir = "MechanicalView";
+ if (SiStripUtility::goToDir(dqm_store, mdir)) {
+ path = dqm_store->pwd();
+ path = path.substr(0, path.find(mdir)-1);
}
}
- } else if (type == "Tracking") {
- std::string top_dir = "Tracking";
- if (dqm_store->dirExists(top_dir)) {
- dqm_store->cd(top_dir);
- path = dqm_store->pwd();
- } else {
- if (SiStripUtility::goToDir(dqm_store, top_dir)) {
- std::string tdir = "TrackParameters";
- if (SiStripUtility::goToDir(dqm_store, tdir)) {
- path = dqm_store->pwd();
- path = path.substr(0, path.find(tdir)-1);
- }
- }
- }
}
}
diff --git a/DQM/TrackingMonitor/interface/TrackAnalyzer.h b/DQM/TrackingMonitor/interface/TrackAnalyzer.h
index 4212652c123d4..2a8939d138323 100644
--- a/DQM/TrackingMonitor/interface/TrackAnalyzer.h
+++ b/DQM/TrackingMonitor/interface/TrackAnalyzer.h
@@ -22,6 +22,8 @@ Monitoring source for general quantities related to tracks.
#include "DQMServices/Core/interface/MonitorElement.h"
#include "DataFormats/BeamSpot/interface/BeamSpot.h"
+#include "DataFormats/VertexReco/interface/Vertex.h"
+#include "DataFormats/VertexReco/interface/VertexFwd.h"
class DQMStore;
@@ -33,6 +35,7 @@ class TrackAnalyzer
TrackAnalyzer(const edm::ParameterSet&, edm::ConsumesCollector& iC);
virtual ~TrackAnalyzer();
virtual void beginJob(DQMStore * dqmStore_);
+ virtual void beginRun(DQMStore * dqmStore_);
virtual void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup, const reco::Track& track);
@@ -42,22 +45,29 @@ class TrackAnalyzer
void setLumiFlag();
private:
-
+ void initHistos();
void fillHistosForState(const edm::EventSetup& iSetup, const reco::Track & track, std::string sname);
- void bookHistosForState(std::string sname, DQMStore * dqmStore_);
- void doTrackerSpecificInitialization(DQMStore * dqmStore_);
- void doTrackerSpecificFillHists(const reco::Track & track);
+ void bookHistosForState(std::string sname,DQMStore * dqmStore_);
+ void bookHistosForHitProperties(DQMStore * dqmStore_);
+ void bookHistosForLScertification(DQMStore * dqmStore_);
+ void bookHistosForBeamSpot(DQMStore * dqmStore_);
+ void bookHistosForTrackerSpecific(DQMStore * dqmStore_);
+ void fillHistosForHitProperties(const edm::EventSetup& iSetup, const reco::Track & track, std::string sname);
+ void fillHistosForLScertification(const edm::EventSetup& iSetup, const reco::Track & track, std::string sname);
+ void fillHistosForTrackerSpecific(const reco::Track & track);
// ----------member data ---------------------------
+ std::string TopFolder_;
edm::EDGetTokenT beamSpotToken_;
+ edm::EDGetTokenT pvToken_;
edm::ParameterSet conf_;
bool doTrackerSpecific_;
bool doAllPlots_;
bool doBSPlots_;
- bool doGoodTrackPlots_;
+ bool doPVPlots_;
bool doDCAPlots_;
bool doGeneralPropertiesPlots_;
bool doMeasurementStatePlots_;
@@ -65,16 +75,17 @@ class TrackAnalyzer
bool doRecHitVsPhiVsEtaPerTrack_;
// ADD by Mia
bool doLayersVsPhiVsEtaPerTrack_;
- bool doGoodTrackRecHitVsPhiVsEtaPerTrack_;
- bool doGoodTrackLayersVsPhiVsEtaPerTrack_;
- bool doGoodTrack2DChi2Plots_;
-
+ bool doTrackRecHitVsPhiVsEtaPerTrack_;
+ bool doTrackLayersVsPhiVsEtaPerTrack_;
+ bool doTrack2DChi2Plots_;
+ bool doRecHitsPerTrackProfile_;
// ADD by Mia in order to clean the tracking MEs
// do not plot *Theta* and TrackPx* and TrackPy*
bool doThetaPlots_;
bool doTrackPxPyPlots_;
// ADD by Mia in order to not plot DistanceOfClosestApproach w.r.t. (0,0,0)
// the DistanceOfClosestApproach w.r.t. the beam-spot is already shown in DistanceOfClosestApproachToBS
+ bool doDCAwrtPVPlots_;
bool doDCAwrt000Plots_;
bool doLumiAnalysis_;
@@ -82,201 +93,185 @@ class TrackAnalyzer
// ADD by Mia in order to turnON test MEs
bool doTestPlots_;
- MonitorElement* NumberOfRecHitsPerTrack;
- MonitorElement* NumberOfRecHitsFoundPerTrack;
- MonitorElement* NumberOfRecHitsLostPerTrack;
- MonitorElement* NumberOfLayersPerTrack;
- MonitorElement* NumberOfRecHitVsPhiVsEtaPerTrack;
- MonitorElement* NumberOfLayersVsPhiVsEtaPerTrack;
- MonitorElement* Chi2;
- MonitorElement* Chi2Prob;
- MonitorElement* Chi2oNDF;
- MonitorElement* DistanceOfClosestApproach;
- MonitorElement* DistanceOfClosestApproachToBS;
- MonitorElement* DistanceOfClosestApproachVsTheta;
- MonitorElement* DistanceOfClosestApproachVsPhi;
- MonitorElement* DistanceOfClosestApproachToBSVsPhi;
- MonitorElement* DistanceOfClosestApproachVsEta;
- MonitorElement* xPointOfClosestApproach;
- MonitorElement* xPointOfClosestApproachVsZ0wrt000;
- MonitorElement* xPointOfClosestApproachVsZ0wrtBS;
- MonitorElement* yPointOfClosestApproach;
- MonitorElement* yPointOfClosestApproachVsZ0wrt000;
- MonitorElement* yPointOfClosestApproachVsZ0wrtBS;
- MonitorElement* zPointOfClosestApproach;
- MonitorElement* zPointOfClosestApproachVsPhi;
+ struct TkParameterMEs {
+ TkParameterMEs() :
+ TrackP(NULL)
+ , TrackPx(NULL)
+ , TrackPy(NULL)
+ , TrackPz(NULL)
+ , TrackPt(NULL)
+
+ , TrackPxErr(NULL)
+ , TrackPyErr(NULL)
+ , TrackPzErr(NULL)
+ , TrackPtErr(NULL)
+ , TrackPErr(NULL)
+
+ , TrackPtErrVsEta(NULL)
+
+ , TrackQ(NULL)
+
+ , TrackPhi(NULL)
+ , TrackEta(NULL)
+ , TrackTheta(NULL)
+
+ , TrackPhiErr(NULL)
+ , TrackEtaErr(NULL)
+ , TrackThetaErr(NULL)
+
+ , NumberOfRecHitsPerTrackVsPhi(NULL)
+ , NumberOfRecHitsPerTrackVsTheta(NULL)
+ , NumberOfRecHitsPerTrackVsEta(NULL)
+ , NumberOfRecHitVsPhiVsEtaPerTrack(NULL)
+
+ , NumberOfValidRecHitsPerTrackVsPhi(NULL)
+ , NumberOfValidRecHitsPerTrackVsTheta(NULL)
+ , NumberOfValidRecHitsPerTrackVsEta(NULL)
+ , NumberOfValidRecHitVsPhiVsEtaPerTrack(NULL)
+
+ , NumberOfLayersPerTrackVsPhi(NULL)
+ , NumberOfLayersPerTrackVsTheta(NULL)
+ , NumberOfLayersPerTrackVsEta(NULL)
+
+ , Chi2oNDFVsEta(NULL)
+ , Chi2oNDFVsPhi(NULL)
+ , Chi2oNDFVsTheta(NULL)
+
+ , Chi2ProbVsEta(NULL)
+ , Chi2ProbVsPhi(NULL)
+ , Chi2ProbVsTheta(NULL)
+ {}
+
+ MonitorElement* TrackP;
+ MonitorElement* TrackPx;
+ MonitorElement* TrackPy;
+ MonitorElement* TrackPz;
+ MonitorElement* TrackPt;
+
+ MonitorElement* TrackPxErr;
+ MonitorElement* TrackPyErr;
+ MonitorElement* TrackPzErr;
+ MonitorElement* TrackPtErr;
+ MonitorElement* TrackPErr;
+
+ MonitorElement* TrackPtErrVsEta;
+
+ MonitorElement* TrackQ;
+
+ MonitorElement* TrackPhi;
+ MonitorElement* TrackEta;
+ MonitorElement* TrackTheta;
+
+ MonitorElement* TrackPhiErr;
+ MonitorElement* TrackEtaErr;
+ MonitorElement* TrackThetaErr;
+
+ MonitorElement* NumberOfRecHitsPerTrackVsPhi;
+ MonitorElement* NumberOfRecHitsPerTrackVsTheta;
+ MonitorElement* NumberOfRecHitsPerTrackVsEta;
+ MonitorElement* NumberOfRecHitVsPhiVsEtaPerTrack;
+
+ MonitorElement* NumberOfValidRecHitsPerTrackVsPhi;
+ MonitorElement* NumberOfValidRecHitsPerTrackVsTheta;
+ MonitorElement* NumberOfValidRecHitsPerTrackVsEta;
+ MonitorElement* NumberOfValidRecHitVsPhiVsEtaPerTrack;
+
+ MonitorElement* NumberOfLayersPerTrackVsPhi;
+ MonitorElement* NumberOfLayersPerTrackVsTheta;
+ MonitorElement* NumberOfLayersPerTrackVsEta;
+
+ MonitorElement* Chi2oNDFVsEta;
+ MonitorElement* Chi2oNDFVsPhi;
+ MonitorElement* Chi2oNDFVsTheta;
+
+ MonitorElement* Chi2ProbVsEta;
+ MonitorElement* Chi2ProbVsPhi;
+ MonitorElement* Chi2ProbVsTheta;
+
+ };
+ std::map TkParameterMEMap;
+
+
+ MonitorElement* NumberOfRecHitsPerTrack;
+ MonitorElement* NumberOfValidRecHitsPerTrack;
+ MonitorElement* NumberOfLostRecHitsPerTrack;
+
+ MonitorElement* NumberOfRecHitsPerTrackVsPhi;
+ MonitorElement* NumberOfRecHitsPerTrackVsTheta;
+ MonitorElement* NumberOfRecHitsPerTrackVsEta;
+ MonitorElement* NumberOfRecHitVsPhiVsEtaPerTrack;
+
+ MonitorElement* NumberOfValidRecHitsPerTrackVsPhi;
+ MonitorElement* NumberOfValidRecHitsPerTrackVsTheta;
+ MonitorElement* NumberOfValidRecHitsPerTrackVsEta;
+ MonitorElement* NumberOfValidRecHitVsPhiVsEtaPerTrack;
+
+ MonitorElement* NumberOfLayersPerTrack;
+
+ MonitorElement* NumberOfLayersPerTrackVsPhi;
+ MonitorElement* NumberOfLayersPerTrackVsTheta;
+ MonitorElement* NumberOfLayersPerTrackVsEta;
+
+ MonitorElement* NumberOfLayersVsPhiVsEtaPerTrack;
+
+ MonitorElement* Chi2;
+ MonitorElement* Chi2Prob;
+ MonitorElement* Chi2oNDF;
+
+ MonitorElement* Chi2oNDFVsEta;
+ MonitorElement* Chi2oNDFVsPhi;
+ MonitorElement* Chi2oNDFVsTheta;
+
+ MonitorElement* Chi2ProbVsEta;
+ MonitorElement* Chi2ProbVsPhi;
+ MonitorElement* Chi2ProbVsTheta;
+
+ MonitorElement* DistanceOfClosestApproach;
+ MonitorElement* DistanceOfClosestApproachToBS;
+ MonitorElement* DistanceOfClosestApproachToPV;
+ MonitorElement* DistanceOfClosestApproachVsTheta;
+ MonitorElement* DistanceOfClosestApproachVsPhi;
+ MonitorElement* DistanceOfClosestApproachToBSVsPhi;
+ MonitorElement* DistanceOfClosestApproachToPVVsPhi;
+ MonitorElement* DistanceOfClosestApproachVsEta;
+ MonitorElement* xPointOfClosestApproach;
+ MonitorElement* xPointOfClosestApproachToPV;
+ MonitorElement* xPointOfClosestApproachVsZ0wrt000;
+ MonitorElement* xPointOfClosestApproachVsZ0wrtBS;
+ MonitorElement* xPointOfClosestApproachVsZ0wrtPV;
+ MonitorElement* yPointOfClosestApproach;
+ MonitorElement* yPointOfClosestApproachToPV;
+ MonitorElement* yPointOfClosestApproachVsZ0wrt000;
+ MonitorElement* yPointOfClosestApproachVsZ0wrtBS;
+ MonitorElement* yPointOfClosestApproachVsZ0wrtPV;
+ MonitorElement* zPointOfClosestApproach;
+ MonitorElement* zPointOfClosestApproachToPV;
+ MonitorElement* zPointOfClosestApproachVsPhi;
MonitorElement* algorithm;
// TESTING MEs
- MonitorElement* TESTDistanceOfClosestApproachToBS;
- MonitorElement* TESTDistanceOfClosestApproachToBSVsPhi;
-
+ MonitorElement* TESTDistanceOfClosestApproachToBS;
+ MonitorElement* TESTDistanceOfClosestApproachToBSVsPhi;
+
// add by Mia in order to deal w/ LS transitions
MonitorElement* Chi2oNDF_lumiFlag;
MonitorElement* NumberOfRecHitsPerTrack_lumiFlag;
- MonitorElement* GoodTrackChi2oNDF_lumiFlag;
- MonitorElement* GoodTrackNumberOfRecHitsPerTrack_lumiFlag;
-
- MonitorElement* NumberOfTOBRecHitsPerTrack;
- MonitorElement* NumberOfTOBRecHitsPerTrackVsPhiProfile;
- MonitorElement* NumberOfTOBRecHitsPerTrackVsEtaProfile;
- MonitorElement* NumberOfTOBLayersPerTrack;
- MonitorElement* NumberOfTOBLayersPerTrackVsPhiProfile;
- MonitorElement* NumberOfTOBLayersPerTrackVsEtaProfile;
-
- MonitorElement* NumberOfTIBRecHitsPerTrack;
- MonitorElement* NumberOfTIBRecHitsPerTrackVsPhiProfile;
- MonitorElement* NumberOfTIBRecHitsPerTrackVsEtaProfile;
- MonitorElement* NumberOfTIBLayersPerTrack;
- MonitorElement* NumberOfTIBLayersPerTrackVsPhiProfile;
- MonitorElement* NumberOfTIBLayersPerTrackVsEtaProfile;
-
- MonitorElement* NumberOfTIDRecHitsPerTrack;
- MonitorElement* NumberOfTIDRecHitsPerTrackVsPhiProfile;
- MonitorElement* NumberOfTIDRecHitsPerTrackVsEtaProfile;
- MonitorElement* NumberOfTIDLayersPerTrack;
- MonitorElement* NumberOfTIDLayersPerTrackVsPhiProfile;
- MonitorElement* NumberOfTIDLayersPerTrackVsEtaProfile;
-
- MonitorElement* NumberOfTECRecHitsPerTrack;
- MonitorElement* NumberOfTECRecHitsPerTrackVsPhiProfile;
- MonitorElement* NumberOfTECRecHitsPerTrackVsEtaProfile;
- MonitorElement* NumberOfTECLayersPerTrack;
- MonitorElement* NumberOfTECLayersPerTrackVsPhiProfile;
- MonitorElement* NumberOfTECLayersPerTrackVsEtaProfile;
-
- MonitorElement* NumberOfPixBarrelRecHitsPerTrack;
- MonitorElement* NumberOfPixBarrelRecHitsPerTrackVsPhiProfile;
- MonitorElement* NumberOfPixBarrelRecHitsPerTrackVsEtaProfile;
- MonitorElement* NumberOfPixBarrelLayersPerTrack;
- MonitorElement* NumberOfPixBarrelLayersPerTrackVsPhiProfile;
- MonitorElement* NumberOfPixBarrelLayersPerTrackVsEtaProfile;
-
- MonitorElement* NumberOfPixEndcapRecHitsPerTrack;
- MonitorElement* NumberOfPixEndcapRecHitsPerTrackVsPhiProfile;
- MonitorElement* NumberOfPixEndcapRecHitsPerTrackVsEtaProfile;
- MonitorElement* NumberOfPixEndcapLayersPerTrack;
- MonitorElement* NumberOfPixEndcapLayersPerTrackVsPhiProfile;
- MonitorElement* NumberOfPixEndcapLayersPerTrackVsEtaProfile;
-
- MonitorElement* GoodTrackNumberOfRecHitVsPhiVsEtaPerTrack;
- MonitorElement* GoodTrackNumberOfLayersVsPhiVsEtaPerTrack;
- MonitorElement* GoodTrackNumberOfRecHitsPerTrackVsPhiProfile;
- MonitorElement* GoodTrackNumberOfRecHitsPerTrackVsEtaProfile;
- MonitorElement* GoodTrackNumberOfFoundRecHitsPerTrackVsPhiProfile;
- MonitorElement* GoodTrackNumberOfFoundRecHitsPerTrackVsEtaProfile;
- MonitorElement* GoodTrackChi2oNDF;
- MonitorElement* GoodTrackChi2Prob;
- MonitorElement* GoodTrackChi2oNDFVsPhi;
- MonitorElement* GoodTrackChi2ProbVsPhi;
- MonitorElement* GoodTrackChi2oNDFVsEta;
- MonitorElement* GoodTrackChi2ProbVsEta;
- MonitorElement* GoodTrackNumberOfRecHitsPerTrack;
- MonitorElement* GoodTrackNumberOfFoundRecHitsPerTrack;
- MonitorElement* GoodTrackAlgorithm;
-
- struct TkParameterMEs
- {
- TkParameterMEs()
- : TrackP(NULL)
- , TrackPx(NULL)
- , TrackPy(NULL)
- , TrackPz(NULL)
- , TrackPt(NULL)
-
- , TrackPxErr(NULL)
- , TrackPyErr(NULL)
- , TrackPzErr(NULL)
- , TrackPtErr(NULL)
- , TrackPErr(NULL)
-
- , TrackPtErrVsEta(NULL)
-
- , TrackQ(NULL)
-
- , TrackPhi(NULL)
- , TrackEta(NULL)
- , TrackTheta(NULL)
-
- , TrackPhiErr(NULL)
- , TrackEtaErr(NULL)
- , TrackThetaErr(NULL)
-
- , NumberOfRecHitsPerTrackVsPhi(NULL)
- , NumberOfRecHitsPerTrackVsTheta(NULL)
- , NumberOfRecHitsPerTrackVsEta(NULL)
- , NumberOfRecHitsPerTrackVsPhiProfile(NULL)
- , NumberOfRecHitsPerTrackVsThetaProfile(NULL)
- , NumberOfRecHitsPerTrackVsEtaProfile(NULL)
- , NumberOfLayersPerTrackVsPhi(NULL)
- , NumberOfLayersPerTrackVsTheta(NULL)
- , NumberOfLayersPerTrackVsEta(NULL)
- , NumberOfLayersPerTrackVsPhiProfile(NULL)
- , NumberOfLayersPerTrackVsThetaProfile(NULL)
- , NumberOfLayersPerTrackVsEtaProfile(NULL)
-
- , Chi2oNDFVsTheta(NULL)
- , Chi2oNDFVsPhi(NULL)
- , Chi2oNDFVsEta(NULL)
- , Chi2oNDFVsThetaProfile(NULL)
- , Chi2oNDFVsPhiProfile(NULL)
- , Chi2oNDFVsEtaProfile(NULL)
-
- , GoodTrackPt(NULL)
- , GoodTrackEta(NULL)
- , GoodTrackPhi(NULL)
- {}
-
- MonitorElement* TrackP;
- MonitorElement* TrackPx;
- MonitorElement* TrackPy;
- MonitorElement* TrackPz;
- MonitorElement* TrackPt;
-
- MonitorElement* TrackPxErr;
- MonitorElement* TrackPyErr;
- MonitorElement* TrackPzErr;
- MonitorElement* TrackPtErr;
- MonitorElement* TrackPErr;
-
- MonitorElement* TrackPtErrVsEta;
-
- MonitorElement* TrackQ;
-
- MonitorElement* TrackPhi;
- MonitorElement* TrackEta;
- MonitorElement* TrackTheta;
-
- MonitorElement* TrackPhiErr;
- MonitorElement* TrackEtaErr;
- MonitorElement* TrackThetaErr;
-
- MonitorElement* NumberOfRecHitsPerTrackVsPhi;
- MonitorElement* NumberOfRecHitsPerTrackVsTheta;
- MonitorElement* NumberOfRecHitsPerTrackVsEta;
- MonitorElement* NumberOfRecHitsPerTrackVsPhiProfile;
- MonitorElement* NumberOfRecHitsPerTrackVsThetaProfile;
- MonitorElement* NumberOfRecHitsPerTrackVsEtaProfile;
- MonitorElement* NumberOfLayersPerTrackVsPhi;
- MonitorElement* NumberOfLayersPerTrackVsTheta;
- MonitorElement* NumberOfLayersPerTrackVsEta;
- MonitorElement* NumberOfLayersPerTrackVsPhiProfile;
- MonitorElement* NumberOfLayersPerTrackVsThetaProfile;
- MonitorElement* NumberOfLayersPerTrackVsEtaProfile;
-
- MonitorElement* Chi2oNDFVsTheta;
- MonitorElement* Chi2oNDFVsPhi;
- MonitorElement* Chi2oNDFVsEta;
- MonitorElement* Chi2oNDFVsThetaProfile;
- MonitorElement* Chi2oNDFVsPhiProfile;
- MonitorElement* Chi2oNDFVsEtaProfile;
-
- MonitorElement* GoodTrackPt;
- MonitorElement* GoodTrackEta;
- MonitorElement* GoodTrackPhi;
- };
-
- std::map TkParameterMEMap;
-
+
+
+ struct TkRecHitsPerSubDetMEs {
+ MonitorElement* NumberOfRecHitsPerTrack;
+ MonitorElement* NumberOfRecHitsPerTrackVsPhi;
+ MonitorElement* NumberOfRecHitsPerTrackVsEta;
+ MonitorElement* NumberOfLayersPerTrack;
+ MonitorElement* NumberOfLayersPerTrackVsPhi;
+ MonitorElement* NumberOfLayersPerTrackVsEta;
+
+ int detectorId;
+ std::string detectorTag;
+ };
+ std::map TkRecHitsPerSubDetMEMap;
+
+
+
std::string histname; //for naming the histograms according to algorithm used
};
#endif
diff --git a/DQM/TrackingMonitor/interface/TrackBuildingAnalyzer.h b/DQM/TrackingMonitor/interface/TrackBuildingAnalyzer.h
index 53dff7039406d..d8da91d4442ec 100644
--- a/DQM/TrackingMonitor/interface/TrackBuildingAnalyzer.h
+++ b/DQM/TrackingMonitor/interface/TrackBuildingAnalyzer.h
@@ -36,7 +36,7 @@ class TrackBuildingAnalyzer
public:
TrackBuildingAnalyzer(const edm::ParameterSet&);
virtual ~TrackBuildingAnalyzer();
- virtual void beginJob(DQMStore * dqmStore_);
+ virtual void beginRun(DQMStore * dqmStore_);
virtual void analyze
(
const edm::Event& iEvent,
diff --git a/DQM/TrackingMonitor/interface/TrackingMonitor.h b/DQM/TrackingMonitor/interface/TrackingMonitor.h
index bcaad0161e7aa..206d8ec816c87 100644
--- a/DQM/TrackingMonitor/interface/TrackingMonitor.h
+++ b/DQM/TrackingMonitor/interface/TrackingMonitor.h
@@ -68,6 +68,7 @@ class TrackingMonitor : public edm::EDAnalyzer
std::string histname; //for naming the histograms according to algorithm used
DQMStore * dqmStore_;
+
edm::ParameterSet conf_;
// the track analyzer
@@ -76,6 +77,8 @@ class TrackingMonitor : public edm::EDAnalyzer
edm::EDGetTokenT bsSrcToken_;
edm::EDGetTokenT pvSrcToken_;
+ edm::EDGetTokenT allTrackToken_;
+
edm::EDGetTokenT trackToken_;
edm::EDGetTokenT trackCandidateToken_;
edm::EDGetTokenT > seedToken_;
@@ -100,11 +103,11 @@ class TrackingMonitor : public edm::EDAnalyzer
MonitorElement * NumberOfMeanLayersPerTrack;
// Good Tracks
- MonitorElement * NumberOfGoodTracks;
MonitorElement * FractionOfGoodTracks;
// Track Seeds
MonitorElement * NumberOfSeeds;
+ MonitorElement * NumberOfSeeds_lumiFlag;
std::vector SeedsVsClusters;
std::vector ClusterLabels;
@@ -113,34 +116,22 @@ class TrackingMonitor : public edm::EDAnalyzer
MonitorElement * NumberOfTrackCandidates;
// Cluster Properties
- /*
- MonitorElement* NumberOfPixelClus;
- MonitorElement* NumberOfStripClus;
- MonitorElement* RatioOfPixelAndStripClus;
- */
std::vector NumberOfTrkVsClusters;
MonitorElement* NumberOfTrkVsClus;
MonitorElement* NumberOfTrkVsStripClus;
MonitorElement* NumberOfTrkVsPixelClus;
- MonitorElement* NumberOfGoodTrkVsClus;
// Monitoring vs LS
MonitorElement* NumberOfTracksVsLS;
- MonitorElement* NumberOfGoodTracksVsLS;
MonitorElement* GoodTracksFractionVsLS;
- MonitorElement* GoodTracksNumberOfRecHitsPerTrackVsLS;
+ MonitorElement* NumberOfRecHitsPerTrackVsLS;
// Monitoring PU
MonitorElement* NumberOfTracksVsGoodPVtx;
MonitorElement* NumberOfTracksVsBXlumi;
- MonitorElement* NumberOfGoodTracksVsGoodPVtx;
- MonitorElement* NumberOfGoodTracksVsBXlumi;
- MonitorElement* FractionOfGoodTracksVsGoodPVtx;
- MonitorElement* FractionOfGoodTracksVsBXlumi;
-
+
// add in order to deal with LS transitions
MonitorElement * NumberOfTracks_lumiFlag;
- MonitorElement * NumberOfGoodTracks_lumiFlag;
std::string builderName;
edm::ESHandle theTTRHBuilder;
@@ -155,13 +146,14 @@ class TrackingMonitor : public edm::EDAnalyzer
bool doHitPropertiesPlots_;
bool doTkCandPlots;
bool doSeedNumberPlot;
+ bool doSeedLumiAnalysis_;
bool doSeedVsClusterPlot;
bool runTrackBuildingAnalyzerForSeed;
// ADD by Mia in order to have GoodTrack plots only for collision
- bool doGoodTrackPlots_;
bool doPUmonitoring_;
bool doPlotsVsBXlumi_;
bool doPlotsVsGoodPVtx_;
+ bool doFractionPlot_;
GenericTriggerEventFlag* genTriggerEventFlag_;
};
diff --git a/DQM/TrackingMonitor/python/MonitorTrackSTAMuons_cfi.py b/DQM/TrackingMonitor/python/MonitorTrackSTAMuons_cfi.py
index 530930fc75748..8143dd87921c0 100644
--- a/DQM/TrackingMonitor/python/MonitorTrackSTAMuons_cfi.py
+++ b/DQM/TrackingMonitor/python/MonitorTrackSTAMuons_cfi.py
@@ -35,26 +35,26 @@
MonitorTrackSTAMuons.doDCAPlots = cms.bool(False)
MonitorTrackSTAMuons.doGeneralPropertiesPlots = cms.bool(True)
MonitorTrackSTAMuons.doHitPropertiesPlots = cms.bool(True)
-MonitorTrackSTAMuons.doGoodTrackPlots = cms.bool(False)
+#MonitorTrackSTAMuons.doGoodTrackPlots = cms.bool(False)
MonitorTrackSTAMuons.doMeasurementStatePlots = cms.bool(True)
MonitorTrackSTAMuons.doProfilesVsLS = cms.bool(False)
MonitorTrackSTAMuons.doRecHitVsPhiVsEtaPerTrack = cms.bool(False)
-MonitorTrackSTAMuons.doGoodTrackRecHitVsPhiVsEtaPerTrack = cms.bool(False)
+#MonitorTrackSTAMuons.doGoodTrackRecHitVsPhiVsEtaPerTrack = cms.bool(False)
#which seed plots to do
-MonitorTrackSTAMuons.doSeedNumberHisto = cms.bool(False)
+MonitorTrackSTAMuons.doSeedNumberHisto = cms.bool(False)
MonitorTrackSTAMuons.doSeedVsClusterHisto = cms.bool(False)
-MonitorTrackSTAMuons.doSeedPTHisto = cms.bool(False)
-MonitorTrackSTAMuons.doSeedETAHisto = cms.bool(False)
-MonitorTrackSTAMuons.doSeedPHIHisto = cms.bool(False)
-MonitorTrackSTAMuons.doSeedPHIVsETAHisto = cms.bool(False)
-MonitorTrackSTAMuons.doSeedThetaHisto = cms.bool(False)
-MonitorTrackSTAMuons.doSeedQHisto = cms.bool(False)
-MonitorTrackSTAMuons.doSeedDxyHisto= cms.bool(False)
-MonitorTrackSTAMuons.doSeedDzHisto= cms.bool(False)
-MonitorTrackSTAMuons.doSeedNRecHitsHisto= cms.bool(False)
-MonitorTrackSTAMuons.doSeedNVsPhiProf= cms.bool(False)
-MonitorTrackSTAMuons.doSeedNVsEtaProf= cms.bool(False)
+MonitorTrackSTAMuons.doSeedPTHisto = cms.bool(False)
+MonitorTrackSTAMuons.doSeedETAHisto = cms.bool(False)
+MonitorTrackSTAMuons.doSeedPHIHisto = cms.bool(False)
+MonitorTrackSTAMuons.doSeedPHIVsETAHisto = cms.bool(False)
+MonitorTrackSTAMuons.doSeedThetaHisto = cms.bool(False)
+MonitorTrackSTAMuons.doSeedQHisto = cms.bool(False)
+MonitorTrackSTAMuons.doSeedDxyHisto = cms.bool(False)
+MonitorTrackSTAMuons.doSeedDzHisto = cms.bool(False)
+MonitorTrackSTAMuons.doSeedNRecHitsHisto = cms.bool(False)
+MonitorTrackSTAMuons.doSeedNVsPhiProf = cms.bool(False)
+MonitorTrackSTAMuons.doSeedNVsEtaProf = cms.bool(False)
# paramters of the Track
diff --git a/DQM/TrackingMonitor/python/TrackingMonitorSeedNumber_cff.py b/DQM/TrackingMonitor/python/TrackingMonitorSeedNumber_cff.py
index 8dde3e6e68e54..f7b3cfaad83ae 100644
--- a/DQM/TrackingMonitor/python/TrackingMonitorSeedNumber_cff.py
+++ b/DQM/TrackingMonitor/python/TrackingMonitorSeedNumber_cff.py
@@ -94,9 +94,9 @@
TrackMonStep9.SeedProducer = cms.InputTag("muonSeededSeedsInOut")
TrackMonStep9.TCProducer = cms.InputTag("muonSeededTrackCandidatesInOut")
TrackMonStep9.AlgoName = cms.string('iter9')
-TrackMonStep9.TkSeedSizeBin = cms.int32(400)
-TrackMonStep9.TkSeedSizeMax = cms.double(100000)
-TrackMonStep9.TkSeedSizeMin = cms.double(0)
+TrackMonStep9.TkSeedSizeBin = cms.int32(15)
+TrackMonStep9.TkSeedSizeMax = cms.double(14.5)
+TrackMonStep9.TkSeedSizeMin = cms.double(-0.5)
TrackMonStep9.NClusStrBin = cms.int32(500)
TrackMonStep9.NClusStrMax = cms.double(100000)
TrackMonStep9.ClusterLabels = cms.vstring('Strip')
@@ -106,9 +106,9 @@
TrackMonStep10.SeedProducer = cms.InputTag("muonSeededSeedsOutIn")
TrackMonStep10.TCProducer = cms.InputTag("muonSeededTrackCandidatesOutIn")
TrackMonStep10.AlgoName = cms.string('iter10')
-TrackMonStep10.TkSeedSizeBin = cms.int32(400)
-TrackMonStep10.TkSeedSizeMax = cms.double(100000)
-TrackMonStep10.TkSeedSizeMin = cms.double(0)
+TrackMonStep10.TkSeedSizeBin = cms.int32(15)
+TrackMonStep10.TkSeedSizeMax = cms.double(14.5)
+TrackMonStep10.TkSeedSizeMin = cms.double(-0.5)
TrackMonStep10.NClusStrBin = cms.int32(500)
TrackMonStep10.NClusStrMax = cms.double(100000)
TrackMonStep10.ClusterLabels = cms.vstring('Strip')
diff --git a/DQM/TrackingMonitor/python/TrackingMonitorSeed_cfi.py b/DQM/TrackingMonitor/python/TrackingMonitorSeed_cfi.py
index 1d365266a2aa2..d7f48c5e1d9c1 100644
--- a/DQM/TrackingMonitor/python/TrackingMonitorSeed_cfi.py
+++ b/DQM/TrackingMonitor/python/TrackingMonitorSeed_cfi.py
@@ -4,29 +4,31 @@
TrackMonSeed = DQM.TrackingMonitor.TrackingMonitor_cfi.TrackMon.clone()
-TrackMonSeed.OutputMEsInRootFile = cms.bool(False)
-TrackMonSeed.OutputFileName = cms.string('TrackingMonitorSeedMultiplicity.root')
-TrackMonSeed.MeasurementState = cms.string('ImpactPoint')
-TrackMonSeed.FolderName = cms.string('Tracking/TrackParameters')
-TrackMonSeed.BSFolderName = 'Tracking/TrackParameters/BeamSpotParameters'
-TrackMonSeed.AlgoName = cms.string('Seed')
-TrackMonSeed.doGoodTrackPlots = cms.bool(False)
-TrackMonSeed.doTrackerSpecific = cms.bool(False)
-TrackMonSeed.doAllPlots = cms.bool(False)
-TrackMonSeed.doHitPropertiesPlots = cms.bool(False)
-TrackMonSeed.doGeneralPropertiesPlots = cms.bool(False)
-TrackMonSeed.doBeamSpotPlots = cms.bool(False)
-TrackMonSeed.doSeedParameterHistos = cms.bool(False)
-TrackMonSeed.doLumiAnalysis = cms.bool(False)
-TrackMonSeed.doMeasurementStatePlots = cms.bool(False)
+TrackMonSeed.OutputMEsInRootFile = cms.bool(False)
+TrackMonSeed.OutputFileName = cms.string('TrackingMonitorSeedMultiplicity.root')
+TrackMonSeed.MeasurementState = cms.string('ImpactPoint')
+TrackMonSeed.FolderName = cms.string('Tracking/TrackParameters')
+TrackMonSeed.BSFolderName = cms.string('Tracking/TrackParameters/BeamSpotParameters')
+TrackMonSeed.AlgoName = cms.string('Seed')
+#TrackMonSeed.doGoodTrackPlots = cms.bool(False)
+TrackMonSeed.doTrackerSpecific = cms.bool(False)
+TrackMonSeed.doAllPlots = cms.bool(False)
+TrackMonSeed.doHitPropertiesPlots = cms.bool(False)
+TrackMonSeed.doGeneralPropertiesPlots = cms.bool(False)
+TrackMonSeed.doBeamSpotPlots = cms.bool(False)
+TrackMonSeed.doSeedParameterHistos = cms.bool(False)
+TrackMonSeed.doLumiAnalysis = cms.bool(False)
+TrackMonSeed.doMeasurementStatePlots = cms.bool(False)
+TrackMonSeed.doRecHitsPerTrackProfile = cms.bool(False)
TrackMonSeed.doRecHitVsPhiVsEtaPerTrack = cms.bool(False)
-TrackMonSeed.doGoodTrackRecHitVsPhiVsEtaPerTrack = cms.bool(False)
+#TrackMonSeed.doGoodTrackRecHitVsPhiVsEtaPerTrack = cms.bool(False)
#
# plot on Seed (total number, pt, seed # vs cluster)
#
-TrackMonSeed.doSeedNumberHisto = cms.bool(True)
+TrackMonSeed.doSeedNumberHisto = cms.bool(True)
+TrackMonSeed.doSeedLumiAnalysis = cms.bool(True)
TrackMonSeed.doSeedVsClusterHisto = cms.bool(True)
-TrackMonSeed.doSeedPTHisto = cms.bool(True)
-TrackMonSeed.doSeedETAHisto = cms.bool(True)
-TrackMonSeed.doSeedPHIHisto = cms.bool(True)
+TrackMonSeed.doSeedPTHisto = cms.bool(True)
+TrackMonSeed.doSeedETAHisto = cms.bool(True)
+TrackMonSeed.doSeedPHIHisto = cms.bool(True)
TrackMonSeed.doSeedPHIVsETAHisto = cms.bool(True)
diff --git a/DQM/TrackingMonitor/python/TrackingMonitor_cfi.py b/DQM/TrackingMonitor/python/TrackingMonitor_cfi.py
index 6066273dbbfac..7728f84f707ad 100644
--- a/DQM/TrackingMonitor/python/TrackingMonitor_cfi.py
+++ b/DQM/TrackingMonitor/python/TrackingMonitor_cfi.py
@@ -5,6 +5,7 @@
TrackMon = cms.EDAnalyzer("TrackingMonitor",
# input tags
+ allTrackProducer = cms.InputTag("generalTracks"),
TrackProducer = cms.InputTag("generalTracks"),
SeedProducer = cms.InputTag("initialStepSeeds"),
TCProducer = cms.InputTag("initialStepTrackCandidates"),
@@ -48,20 +49,23 @@
doAllPlots = cms.bool(True),
doTrackerSpecific = cms.bool(False),
doBeamSpotPlots = cms.bool(False),
+ doPrimaryVertexPlots = cms.bool(False),
doSeedParameterHistos = cms.bool(False),
doTrackCandHistos = cms.bool(False),
doDCAPlots = cms.bool(False),
+ doDCAwrtPVPlots = cms.bool(False),
doDCAwrt000Plots = cms.bool(False),
doGeneralPropertiesPlots = cms.bool(False),
doHitPropertiesPlots = cms.bool(False),
- doGoodTrackPlots = cms.bool(False),
+# doGoodTrackPlots = cms.bool(False),
doMeasurementStatePlots = cms.bool(True),
doProfilesVsLS = cms.bool(False),
+ doRecHitsPerTrackProfile = cms.bool(True),
doRecHitVsPhiVsEtaPerTrack = cms.bool(False),
- doGoodTrackRecHitVsPhiVsEtaPerTrack = cms.bool(False),
+# doGoodTrackRecHitVsPhiVsEtaPerTrack = cms.bool(False),
doLayersVsPhiVsEtaPerTrack = cms.bool(False),
- doGoodTrackLayersVsPhiVsEtaPerTrack = cms.bool(False),
- doGoodTrack2DChi2Plots = cms.bool(False),
+# doGoodTrackLayersVsPhiVsEtaPerTrack = cms.bool(False),
+# doGoodTrack2DChi2Plots = cms.bool(False),
doThetaPlots = cms.bool(False),
doTrackPxPyPlots = cms.bool(False),
doPUmonitoring = cms.bool(False),
@@ -71,6 +75,7 @@
#which seed plots to do
doSeedNumberHisto = cms.bool(False),
+ doSeedLumiAnalysis = cms.bool(False),
doSeedVsClusterHisto = cms.bool(False),
doSeedPTHisto = cms.bool(False),
doSeedETAHisto = cms.bool(False),
@@ -151,35 +156,8 @@
MeanHitMax = cms.double(29.5),
MeanHitMin = cms.double(-0.5),
- # num TOB rec hits
- TOBHitBin = cms.int32(15),
- TOBHitMax = cms.double(14.5),
- TOBHitMin = cms.double(-0.5),
-
- # num TIB rec hits
- TIBHitBin = cms.int32(15),
- TIBHitMax = cms.double(14.5),
- TIBHitMin = cms.double(-0.5),
-
- # num TID rec hits
- TIDHitBin = cms.int32(15),
- TIDHitMax = cms.double(14.5),
- TIDHitMin = cms.double(-0.5),
-
- # num TEC rec hits
- TECHitBin = cms.int32(25),
- TECHitMax = cms.double(24.5),
- TECHitMin = cms.double(-0.5),
-
- # num PXB rec hits
- PXBHitBin = cms.int32(10),
- PXBHitMax = cms.double(9.5),
- PXBHitMin = cms.double(-0.5),
-
- # num PXF rec hits
- PXFHitBin = cms.int32(10),
- PXFHitMax = cms.double(9.5),
- PXFHitMin = cms.double(-0.5),
+ subdetectors = cms.vstring( "TIB", "TOB", "TID", "TEC", "PixBarrel", "PixEndcap" ),
+ subdetectorBin = cms.int32(25),
# num rec hits lost
RecLostBin = cms.int32(10),
@@ -192,8 +170,8 @@
RecLayMin = cms.double(-0.5),
# mean layers
- MeanLayBin = cms.int32(20),
- MeanLayMax = cms.double(19.5),
+ MeanLayBin = cms.int32(25),
+ MeanLayMax = cms.double(24.5),
MeanLayMin = cms.double(-0.5),
# num TOB Layers
@@ -316,6 +294,11 @@
VZMax = cms.double(30.0),
VZMin = cms.double(-30.0),
+ # PCA z position for profile
+ VZBinProf = cms.int32(100),
+ VZMaxProf = cms.double(0.2),
+ VZMinProf = cms.double(-0.2),
+
# PCA x position for 2D plot
X0Bin = cms.int32(100),
X0Max = cms.double(0.5),
diff --git a/DQM/TrackingMonitor/src/LogMessageMonitor.cc b/DQM/TrackingMonitor/src/LogMessageMonitor.cc
index ee6a462776635..b8acb7d6775ed 100644
--- a/DQM/TrackingMonitor/src/LogMessageMonitor.cc
+++ b/DQM/TrackingMonitor/src/LogMessageMonitor.cc
@@ -2,12 +2,12 @@
//
// Package: LogMessageMonitor
// Class: LogMessageMonitor
-//
+//
/**\class LogMessageMonitor LogMessageMonitor.cc DQM/LogMonitor/src/LogMessageMonitor.cc
Description: [one line class summary]
from https://twiki.cern.ch/twiki/bin/view/CMS/TrackingPOGFilters#Filters
- Events with (partly) aborted track reconstruction
+ Events with (partly) aborted track reconstruction
The track reconstruction code is protected against events with too large occupancy which can cause an excessive use of CPU time and memory.
Each iteration of the track reconstruction can be aborted if:
- too many strip and/or pixel clusters are present as input to the seeding step (*TooManyClusters* error).
@@ -16,9 +16,9 @@
=> All the pairs/triplets found are discarded and the iteration continue (to be checked!)
NB: Despite the thrshold is the same,
similar iterations may have a different rate of errors depending on the CMSSW release,
- because the requirement to accept a triplet/pair has been modified (cluster shape filters,...)
+ because the requirement to accept a triplet/pair has been modified (cluster shape filters,...)
- too many seeds are produced as input to the track building step (*TooManySeeds*).
- => No track is reconstructed from that iteration.
+ => No track is reconstructed from that iteration.
# ELSeverityLevel
http://cmssdt.cern.ch/SDT/lxr/source/FWCore/MessageLogger/interface/ELseverityLevel.h?v=CMSSW_5_3_4
@@ -83,11 +83,11 @@ LogMessageMonitor::LogMessageMonitor(const edm::ParameterSet& iConfig)
, modules_vector_ ( iConfig.getParameter >("modules") )
, categories_vector_ ( iConfig.getParameter >("categories") )
, doWarningsPlots_ ( iConfig.getParameter ("doWarningsPlots") )
- , doPUmonitoring_ ( iConfig.getParameter ("doPUmonitoring") )
+ , doPUmonitoring_ ( iConfig.getParameter ("doPUmonitoring") )
{
-
+
errorToken_ = consumes >(edm::InputTag("logErrorHarvester") );
-
+
edm::ConsumesCollector c{ consumesCollector() };
//now do what ever initialization is needed
lumiDetails_ = new GetLumi( iConfig.getParameter("BXlumiSetup"), c );
@@ -97,7 +97,7 @@ LogMessageMonitor::LogMessageMonitor(const edm::ParameterSet& iConfig)
LogMessageMonitor::~LogMessageMonitor()
{
-
+
// do anything here that needs to be done at desctruction time
// (e.g. close files, deallocate resources etc.)
// if ( lumiDetails_ ) delete lumiDetails_;
@@ -121,16 +121,16 @@ LogMessageMonitor::analyze(const edm::Event& iEvent, const edm::EventSetup& iSet
double BXlumi = -1.;
if ( doPUmonitoring_ )
lumiDetails_->getValue(iEvent);
-
+
// Take the ErrorSummaryEntry container
edm::Handle > errors;
// iEvent.getByLabel("logErrorHarvester",errors);
iEvent.getByToken(errorToken_,errors);
// Check that errors is valid
- if(!errors.isValid()) return;
+ if(!errors.isValid()) return;
// Compare severity level of error with ELseveritylevel instance el : "-e" should be the lowest error
edm::ELseverityLevel el("-e");
-
+
// Find the total number of errors in iEvent
if(errors->size()==0){
if ( doPUmonitoring_ ) {
@@ -144,8 +144,8 @@ LogMessageMonitor::analyze(const edm::Event& iEvent, const edm::EventSetup& iSet
size_t nCategories = categories_vector_.size();
- for( size_t i = 0, n = errors->size(); i < n ; i++){
-
+ for( size_t i = 0, n = errors->size(); i < n ; i++){
+
// std::cout << "LogMessageMonitor::analyze] Severity for error/warning: " << (*errors)[i].severity << " " <<(*errors)[i].module << std::endl;
// remove the first part of the module string, what is before ":"
std::string s = (*errors)[i].module;
@@ -185,11 +185,11 @@ LogMessageMonitor::analyze(const edm::Event& iEvent, const edm::EventSetup& iSet
CategoriesVsModules->getTH1()->SetBinContent(ibinX,ibinY,ncount);
} else {
int ncount = CategoriesVsModules->getTH1()->GetBinContent(ibinX,nCategories)+1;
- CategoriesVsModules->getTH1()->SetBinContent(ibinX,nCategories,ncount);
+ CategoriesVsModules->getTH1()->SetBinContent(ibinX,nCategories,ncount);
}
} else {
// IF ONLY WARNING, FILL WARNING HISTS
- if ( doWarningsPlots_ )
+ if ( doWarningsPlots_ )
if ( doPUmonitoring_ )
ModulesWarningsVsBXlumi[it->second]->Fill(BXlumi, (*errors)[i].count);
}
@@ -200,10 +200,10 @@ LogMessageMonitor::analyze(const edm::Event& iEvent, const edm::EventSetup& iSet
// ------------ method called once each job just before starting event loop ------------
-void
+void
LogMessageMonitor::beginJob()
{
- std::string MEFolderName = conf_.getParameter("LogFolderName");
+ std::string MEFolderName = conf_.getParameter("LogFolderName");
dqmStore_->setCurrentFolder(MEFolderName);
@@ -220,7 +220,7 @@ LogMessageMonitor::beginJob()
// CategoriesVsModules->getTH1()->GetXaxis()->LabelsOption("v");
for (size_t icategories = 0; icategories < nCategories; icategories++)
CategoriesVsModules->setBinLabel(icategories+1,categories_vector_[icategories],2);
-
+
// MAKE MODULEMAP USING INPUT FROM CFG FILE
for (size_t i = 0; i < modules_vector_.size(); i++){
modulesMap.insert( std::pair(modules_vector_[i],i) );
@@ -233,34 +233,34 @@ LogMessageMonitor::beginJob()
int BXlumiBin = BXlumiParameters.getParameter("BXlumiBin");
double BXlumiMin = BXlumiParameters.getParameter("BXlumiMin");
double BXlumiMax = BXlumiParameters.getParameter("BXlumiMax");
-
+
size_t i = 0;
for(std::map::const_iterator it = modulesMap.begin();
- it != modulesMap.end(); ++it, i++){
-
- dqmStore_->setCurrentFolder(MEFolderName + "/PUmonitoring/Errors");
-
+ it != modulesMap.end(); ++it, i++){
+
+ dqmStore_->setCurrentFolder(MEFolderName + "/PUmonitoring/Errors");
+
histname = "errorsVsBXlumi_" + it->first;
ModulesErrorsVsBXlumi.push_back( dynamic_cast(dqmStore_->bookProfile( histname, histname, BXlumiBin, BXlumiMin, BXlumiMax, 0.,100, "")) );
ModulesErrorsVsBXlumi[i] -> setAxisTitle("BXlumi [10^{30} Hz cm^{-2}]", 1);
ModulesErrorsVsBXlumi[i] -> setAxisTitle("Mean number of errors", 2);
-
+
if ( doWarningsPlots_ ) {
- dqmStore_->setCurrentFolder(MEFolderName + "/PUmonitoring/Warnings");
-
+ dqmStore_->setCurrentFolder(MEFolderName + "/PUmonitoring/Warnings");
+
histname = "warningVsBXlumi_" + it->first;
ModulesWarningsVsBXlumi.push_back( dynamic_cast(dqmStore_->bookProfile( histname, histname, BXlumiBin, BXlumiMin, BXlumiMax, 0.,100, "")) );
ModulesWarningsVsBXlumi[i] -> setAxisTitle("BXlumi [10^{30} Hz cm^{-2}]", 1);
ModulesWarningsVsBXlumi[i] -> setAxisTitle("Mean number of warnings", 2);
}
- }
+ }
}
}
// ------------ method called once each job just after ending the event loop ------------
-void
-LogMessageMonitor::endJob()
+void
+LogMessageMonitor::endJob()
{
bool outputMEsInRootFile = conf_.getParameter("OutputMEsInRootFile");
std::string outputFileName = conf_.getParameter("OutputFileName");
@@ -272,26 +272,26 @@ LogMessageMonitor::endJob()
}
// ------------ method called when starting to processes a run ------------
-void
+void
LogMessageMonitor::beginRun(const edm::Run& iRun, const edm::EventSetup& iSetup)
{
if ( genTriggerEventFlag_->on() ) genTriggerEventFlag_->initRun( iRun, iSetup );
}
// ------------ method called when ending the processing of a run ------------
-void
+void
LogMessageMonitor::endRun(edm::Run const&, edm::EventSetup const&)
{
}
// ------------ method called when starting to processes a luminosity block ------------
-void
+void
LogMessageMonitor::beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&)
{
}
// ------------ method called when ending the processing of a luminosity block ------------
-void
+void
LogMessageMonitor::endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&)
{
}
diff --git a/DQM/TrackingMonitor/src/TrackAnalyzer.cc b/DQM/TrackingMonitor/src/TrackAnalyzer.cc
index 29bba1a1986e2..98c20255b7f6b 100644
--- a/DQM/TrackingMonitor/src/TrackAnalyzer.cc
+++ b/DQM/TrackingMonitor/src/TrackAnalyzer.cc
@@ -20,126 +20,90 @@
TrackAnalyzer::TrackAnalyzer(const edm::ParameterSet& iConfig)
: conf_( iConfig )
- , doTrackerSpecific_ ( conf_.getParameter("doTrackerSpecific") )
- , doAllPlots_ ( conf_.getParameter("doAllPlots") )
- , doBSPlots_ ( conf_.getParameter("doBeamSpotPlots") )
- , doGoodTrackPlots_ ( conf_.getParameter("doGoodTrackPlots") )
- , doDCAPlots_ ( conf_.getParameter("doDCAPlots") )
- , doGeneralPropertiesPlots_ ( conf_.getParameter("doGeneralPropertiesPlots") )
- , doMeasurementStatePlots_ ( conf_.getParameter("doMeasurementStatePlots") )
- , doHitPropertiesPlots_ ( conf_.getParameter("doHitPropertiesPlots") )
- , doRecHitVsPhiVsEtaPerTrack_ ( conf_.getParameter("doRecHitVsPhiVsEtaPerTrack") )
- , doLayersVsPhiVsEtaPerTrack_ ( conf_.getParameter("doLayersVsPhiVsEtaPerTrack") )
- , doGoodTrackRecHitVsPhiVsEtaPerTrack_ ( conf_.getParameter("doGoodTrackRecHitVsPhiVsEtaPerTrack") )
- , doGoodTrackLayersVsPhiVsEtaPerTrack_ ( conf_.getParameter("doGoodTrackLayersVsPhiVsEtaPerTrack") )
- , doGoodTrack2DChi2Plots_ ( conf_.getParameter("doGoodTrack2DChi2Plots") )
- , doThetaPlots_ ( conf_.getParameter("doThetaPlots") )
- , doTrackPxPyPlots_ ( conf_.getParameter("doTrackPxPyPlots") )
- , doDCAwrt000Plots_ ( conf_.getParameter("doDCAwrt000Plots") )
- , doLumiAnalysis_ ( conf_.getParameter("doLumiAnalysis") )
- , doTestPlots_ ( conf_.getParameter("doTestPlots") )
- , NumberOfRecHitsPerTrack(NULL)
- , NumberOfRecHitsFoundPerTrack(NULL)
- , NumberOfRecHitsLostPerTrack(NULL)
- , NumberOfLayersPerTrack(NULL)
- , NumberOfRecHitVsPhiVsEtaPerTrack(NULL)
- , NumberOfLayersVsPhiVsEtaPerTrack(NULL)
- , Chi2(NULL)
- , Chi2Prob(NULL)
- , Chi2oNDF(NULL)
- , DistanceOfClosestApproach(NULL)
- , DistanceOfClosestApproachToBS(NULL)
- , DistanceOfClosestApproachVsTheta(NULL)
- , DistanceOfClosestApproachVsPhi(NULL)
- , DistanceOfClosestApproachToBSVsPhi(NULL)
- , DistanceOfClosestApproachVsEta(NULL)
- , xPointOfClosestApproach(NULL)
- , xPointOfClosestApproachVsZ0wrt000(NULL)
- , xPointOfClosestApproachVsZ0wrtBS(NULL)
- , yPointOfClosestApproach(NULL)
- , yPointOfClosestApproachVsZ0wrt000(NULL)
- , yPointOfClosestApproachVsZ0wrtBS(NULL)
- , zPointOfClosestApproach(NULL)
- , zPointOfClosestApproachVsPhi(NULL)
- , algorithm(NULL)
- // TESTING MEs
- , TESTDistanceOfClosestApproachToBS(NULL)
- , TESTDistanceOfClosestApproachToBSVsPhi(NULL)
- // add by mia in order to deal w/ LS transitions
- , Chi2oNDF_lumiFlag(NULL)
- , NumberOfRecHitsPerTrack_lumiFlag(NULL)
- , GoodTrackChi2oNDF_lumiFlag(NULL)
- , GoodTrackNumberOfRecHitsPerTrack_lumiFlag(NULL)
-
- , NumberOfTOBRecHitsPerTrack(NULL)
- , NumberOfTOBRecHitsPerTrackVsPhiProfile(NULL)
- , NumberOfTOBRecHitsPerTrackVsEtaProfile(NULL)
- , NumberOfTOBLayersPerTrack(NULL)
- , NumberOfTOBLayersPerTrackVsPhiProfile(NULL)
- , NumberOfTOBLayersPerTrackVsEtaProfile(NULL)
-
- , NumberOfTIBRecHitsPerTrack(NULL)
- , NumberOfTIBRecHitsPerTrackVsPhiProfile(NULL)
- , NumberOfTIBRecHitsPerTrackVsEtaProfile(NULL)
- , NumberOfTIBLayersPerTrack(NULL)
- , NumberOfTIBLayersPerTrackVsPhiProfile(NULL)
- , NumberOfTIBLayersPerTrackVsEtaProfile(NULL)
-
- , NumberOfTIDRecHitsPerTrack(NULL)
- , NumberOfTIDRecHitsPerTrackVsPhiProfile(NULL)
- , NumberOfTIDRecHitsPerTrackVsEtaProfile(NULL)
- , NumberOfTIDLayersPerTrack(NULL)
- , NumberOfTIDLayersPerTrackVsPhiProfile(NULL)
- , NumberOfTIDLayersPerTrackVsEtaProfile(NULL)
-
- , NumberOfTECRecHitsPerTrack(NULL)
- , NumberOfTECRecHitsPerTrackVsPhiProfile(NULL)
- , NumberOfTECRecHitsPerTrackVsEtaProfile(NULL)
- , NumberOfTECLayersPerTrack(NULL)
- , NumberOfTECLayersPerTrackVsPhiProfile(NULL)
- , NumberOfTECLayersPerTrackVsEtaProfile(NULL)
-
- , NumberOfPixBarrelRecHitsPerTrack(NULL)
- , NumberOfPixBarrelRecHitsPerTrackVsPhiProfile(NULL)
- , NumberOfPixBarrelRecHitsPerTrackVsEtaProfile(NULL)
- , NumberOfPixBarrelLayersPerTrack(NULL)
- , NumberOfPixBarrelLayersPerTrackVsPhiProfile(NULL)
- , NumberOfPixBarrelLayersPerTrackVsEtaProfile(NULL)
-
- , NumberOfPixEndcapRecHitsPerTrack(NULL)
- , NumberOfPixEndcapRecHitsPerTrackVsPhiProfile(NULL)
- , NumberOfPixEndcapRecHitsPerTrackVsEtaProfile(NULL)
- , NumberOfPixEndcapLayersPerTrack(NULL)
- , NumberOfPixEndcapLayersPerTrackVsPhiProfile(NULL)
- , NumberOfPixEndcapLayersPerTrackVsEtaProfile(NULL)
-
- , GoodTrackNumberOfRecHitVsPhiVsEtaPerTrack(NULL)
- , GoodTrackNumberOfLayersVsPhiVsEtaPerTrack(NULL)
- , GoodTrackNumberOfRecHitsPerTrackVsPhiProfile(NULL)
- , GoodTrackNumberOfRecHitsPerTrackVsEtaProfile(NULL)
- , GoodTrackNumberOfFoundRecHitsPerTrackVsPhiProfile(NULL)
- , GoodTrackNumberOfFoundRecHitsPerTrackVsEtaProfile(NULL)
- , GoodTrackChi2oNDF(NULL)
- , GoodTrackChi2Prob(NULL)
- , GoodTrackChi2oNDFVsPhi(NULL)
- , GoodTrackChi2ProbVsPhi(NULL)
- , GoodTrackChi2oNDFVsEta(NULL)
- , GoodTrackChi2ProbVsEta(NULL)
- , GoodTrackNumberOfRecHitsPerTrack(NULL)
- , GoodTrackNumberOfFoundRecHitsPerTrack(NULL)
- , GoodTrackAlgorithm(NULL)
+ , doTrackerSpecific_ ( conf_.getParameter("doTrackerSpecific") )
+ , doAllPlots_ ( conf_.getParameter("doAllPlots") )
+ , doBSPlots_ ( conf_.getParameter("doBeamSpotPlots") )
+ , doPVPlots_ ( conf_.getParameter("doPrimaryVertexPlots") )
+ , doDCAPlots_ ( conf_.getParameter("doDCAPlots") )
+ , doGeneralPropertiesPlots_ ( conf_.getParameter("doGeneralPropertiesPlots") )
+ , doMeasurementStatePlots_ ( conf_.getParameter("doMeasurementStatePlots") )
+ , doHitPropertiesPlots_ ( conf_.getParameter("doHitPropertiesPlots") )
+ , doRecHitVsPhiVsEtaPerTrack_ ( conf_.getParameter("doRecHitVsPhiVsEtaPerTrack") )
+ , doLayersVsPhiVsEtaPerTrack_ ( conf_.getParameter("doLayersVsPhiVsEtaPerTrack") )
+ , doRecHitsPerTrackProfile_ ( conf_.getParameter("doRecHitsPerTrackProfile") )
+ , doThetaPlots_ ( conf_.getParameter("doThetaPlots") )
+ , doTrackPxPyPlots_ ( conf_.getParameter("doTrackPxPyPlots") )
+ , doDCAwrtPVPlots_ ( conf_.getParameter("doDCAwrtPVPlots") )
+ , doDCAwrt000Plots_ ( conf_.getParameter("doDCAwrt000Plots") )
+ , doLumiAnalysis_ ( conf_.getParameter("doLumiAnalysis") )
+ , doTestPlots_ ( conf_.getParameter("doTestPlots") )
{
-
- // std::cout << "TrackAnalyzer::TrackAnalyzer() - doGoodTrackPlots_ = " << doGoodTrackPlots_ << std::endl;
+ initHistos();
+ TopFolder_ = conf_.getParameter("FolderName");
}
-TrackAnalyzer::TrackAnalyzer(const edm::ParameterSet& iConfig, edm::ConsumesCollector& iC) : TrackAnalyzer(iConfig)
+TrackAnalyzer::TrackAnalyzer(const edm::ParameterSet& iConfig, edm::ConsumesCollector& iC)
+ : TrackAnalyzer(iConfig)
{
-
- edm::InputTag bsSrc = conf_.getParameter("beamSpot");
+ edm::InputTag bsSrc = conf_.getParameter("beamSpot");
+ edm::InputTag primaryVertexInputTag = conf_.getParameter("primaryVertex");
beamSpotToken_ = iC.consumes(bsSrc);
-
+ pvToken_ = iC.consumes(primaryVertexInputTag);
+}
+
+void TrackAnalyzer::initHistos()
+{
+ Chi2 = NULL;
+ Chi2Prob = NULL;
+ Chi2ProbVsPhi = NULL;
+ Chi2ProbVsEta = NULL;
+ Chi2oNDF = NULL;
+ Chi2oNDFVsEta = NULL;
+ Chi2oNDFVsPhi = NULL;
+ Chi2oNDFVsTheta = NULL;
+ Chi2oNDFVsTheta = NULL;
+ Chi2oNDFVsPhi = NULL;
+ Chi2oNDFVsEta = NULL;
+
+ NumberOfRecHitsPerTrack = NULL;
+ NumberOfValidRecHitsPerTrack = NULL;
+ NumberOfLostRecHitsPerTrack = NULL;
+
+ NumberOfRecHitsPerTrackVsPhi = NULL;
+ NumberOfRecHitsPerTrackVsTheta = NULL;
+ NumberOfRecHitsPerTrackVsEta = NULL;
+
+ NumberOfRecHitVsPhiVsEtaPerTrack = NULL;
+
+ NumberOfValidRecHitsPerTrackVsPhi = NULL;
+ NumberOfValidRecHitsPerTrackVsEta = NULL;
+
+ NumberOfLayersPerTrack = NULL;
+ NumberOfLayersVsPhiVsEtaPerTrack = NULL;
+
+ DistanceOfClosestApproach = NULL;
+ DistanceOfClosestApproachToBS = NULL;
+ DistanceOfClosestApproachVsTheta = NULL;
+ DistanceOfClosestApproachVsPhi = NULL;
+ DistanceOfClosestApproachToBSVsPhi = NULL;
+ DistanceOfClosestApproachVsEta = NULL;
+ xPointOfClosestApproach = NULL;
+ xPointOfClosestApproachVsZ0wrt000 = NULL;
+ xPointOfClosestApproachVsZ0wrtBS = NULL;
+ yPointOfClosestApproach = NULL;
+ yPointOfClosestApproachVsZ0wrt000 = NULL;
+ yPointOfClosestApproachVsZ0wrtBS = NULL;
+ zPointOfClosestApproach = NULL;
+ zPointOfClosestApproachVsPhi = NULL;
+ algorithm = NULL;
+ // TESTING
+ TESTDistanceOfClosestApproachToBS = NULL;
+ TESTDistanceOfClosestApproachToBSVsPhi = NULL;
+
+// by Mia in order to deal w/ LS transitions
+ Chi2oNDF_lumiFlag = NULL;
+ NumberOfRecHitsPerTrack_lumiFlag = NULL;
}
@@ -149,20 +113,56 @@ TrackAnalyzer::~TrackAnalyzer()
void TrackAnalyzer::beginJob(DQMStore * dqmStore_)
{
+
+}
+
+void TrackAnalyzer::beginRun(DQMStore * dqmStore_)
+{
+
+ bookHistosForHitProperties(dqmStore_);
+ bookHistosForBeamSpot(dqmStore_);
+ bookHistosForLScertification( dqmStore_);
+
+ // book tracker specific related histograms
+ // ---------------------------------------------------------------------------------//
+ if(doTrackerSpecific_ || doAllPlots_) bookHistosForTrackerSpecific(dqmStore_);
+
+ // book state related histograms
+ // ---------------------------------------------------------------------------------//
+ if (doMeasurementStatePlots_ || doAllPlots_) {
+
+ std::string StateName = conf_.getParameter("MeasurementState");
+
+ if (StateName == "All") {
+ bookHistosForState("OuterSurface", dqmStore_);
+ bookHistosForState("InnerSurface", dqmStore_);
+ bookHistosForState("ImpactPoint" , dqmStore_);
+ } else if (
+ StateName != "OuterSurface" &&
+ StateName != "InnerSurface" &&
+ StateName != "ImpactPoint" &&
+ StateName != "default"
+ ) {
+ bookHistosForState("default", dqmStore_);
+
+ } else {
+ bookHistosForState(StateName, dqmStore_);
+ }
+
+ }
+}
+void TrackAnalyzer::bookHistosForHitProperties(DQMStore * dqmStore_) {
+
// parameters from the configuration
std::string QualName = conf_.getParameter("Quality");
std::string AlgoName = conf_.getParameter("AlgoName");
- std::string MEFolderName = conf_.getParameter("FolderName");
std::string MEBSFolderName = conf_.getParameter("BSFolderName");
// use the AlgoName and Quality Name
- std::string CatagoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
+ std::string CategoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
// get binning from the configuration
- double RecHitMin = conf_.getParameter("RecHitMin");
- double RecHitMax = conf_.getParameter("RecHitMax");
-
int TKHitBin = conf_.getParameter( "RecHitBin");
double TKHitMin = conf_.getParameter("RecHitMin");
double TKHitMax = conf_.getParameter("RecHitMax");
@@ -175,18 +175,6 @@ void TrackAnalyzer::beginJob(DQMStore * dqmStore_)
double TKLayMin = conf_.getParameter("RecLayMin");
double TKLayMax = conf_.getParameter("RecLayMax");
- int Chi2Bin = conf_.getParameter( "Chi2Bin");
- double Chi2Min = conf_.getParameter("Chi2Min");
- double Chi2Max = conf_.getParameter("Chi2Max");
-
- int Chi2NDFBin = conf_.getParameter( "Chi2NDFBin");
- double Chi2NDFMin = conf_.getParameter("Chi2NDFMin");
- double Chi2NDFMax = conf_.getParameter("Chi2NDFMax");
-
- int Chi2ProbBin = conf_.getParameter( "Chi2ProbBin");
- double Chi2ProbMin = conf_.getParameter("Chi2ProbMin");
- double Chi2ProbMax = conf_.getParameter("Chi2ProbMax");
-
int PhiBin = conf_.getParameter( "PhiBin");
double PhiMin = conf_.getParameter("PhiMin");
double PhiMax = conf_.getParameter("PhiMax");
@@ -195,14 +183,6 @@ void TrackAnalyzer::beginJob(DQMStore * dqmStore_)
double EtaMin = conf_.getParameter("EtaMin");
double EtaMax = conf_.getParameter("EtaMax");
- int ThetaBin = conf_.getParameter( "ThetaBin");
- double ThetaMin = conf_.getParameter("ThetaMin");
- double ThetaMax = conf_.getParameter("ThetaMax");
-
- int DxyBin = conf_.getParameter( "DxyBin");
- double DxyMin = conf_.getParameter("DxyMin");
- double DxyMax = conf_.getParameter("DxyMax");
-
int VXBin = conf_.getParameter( "VXBin");
double VXMin = conf_.getParameter("VXMin");
double VXMax = conf_.getParameter("VXMax");
@@ -215,537 +195,520 @@ void TrackAnalyzer::beginJob(DQMStore * dqmStore_)
double VZMin = conf_.getParameter("VZMin");
double VZMax = conf_.getParameter("VZMax");
- int X0Bin = conf_.getParameter( "X0Bin");
- double X0Min = conf_.getParameter("X0Min");
- double X0Max = conf_.getParameter("X0Max");
-
- int Y0Bin = conf_.getParameter( "Y0Bin");
- double Y0Min = conf_.getParameter("Y0Min");
- double Y0Max = conf_.getParameter("Y0Max");
-
- int Z0Bin = conf_.getParameter( "Z0Bin");
- double Z0Min = conf_.getParameter("Z0Min");
- double Z0Max = conf_.getParameter("Z0Max");
-
- dqmStore_->setCurrentFolder(MEFolderName);
+ dqmStore_->setCurrentFolder(TopFolder_);
// book the Hit Property histograms
// ---------------------------------------------------------------------------------//
+ TkParameterMEs tkmes;
if ( doHitPropertiesPlots_ || doAllPlots_ ){
- dqmStore_->setCurrentFolder(MEFolderName+"/HitProperties");
+ dqmStore_->setCurrentFolder(TopFolder_+"/HitProperties");
histname = "NumberOfRecHitsPerTrack_";
- NumberOfRecHitsPerTrack = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, TKHitBin, TKHitMin, TKHitMax);
+ NumberOfRecHitsPerTrack = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, TKHitBin, TKHitMin, TKHitMax);
NumberOfRecHitsPerTrack->setAxisTitle("Number of all RecHits of each Track");
NumberOfRecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
- histname = "NumberOfRecHitsFoundPerTrack_";
- NumberOfRecHitsFoundPerTrack = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, TKHitBin, TKHitMin, TKHitMax);
- NumberOfRecHitsFoundPerTrack->setAxisTitle("Number of RecHits found for each Track");
- NumberOfRecHitsFoundPerTrack->setAxisTitle("Number of Tracks", 2);
+ histname = "NumberOfValidRecHitsPerTrack_";
+ NumberOfValidRecHitsPerTrack = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, TKHitBin, TKHitMin, TKHitMax);
+ NumberOfValidRecHitsPerTrack->setAxisTitle("Number of valid RecHits for each Track");
+ NumberOfValidRecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
- histname = "NumberOfRecHitsLostPerTrack_";
- NumberOfRecHitsLostPerTrack = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, TKLostBin, TKLostMin, TKLostMax);
- NumberOfRecHitsLostPerTrack->setAxisTitle("Number of RecHits lost for each Track");
- NumberOfRecHitsLostPerTrack->setAxisTitle("Number of Tracks", 2);
+ histname = "NumberOfLostRecHitsPerTrack_";
+ NumberOfLostRecHitsPerTrack = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, TKLostBin, TKLostMin, TKLostMax);
+ NumberOfLostRecHitsPerTrack->setAxisTitle("Number of lost RecHits for each Track");
+ NumberOfLostRecHitsPerTrack->setAxisTitle("Number of Tracks", 2);
histname = "NumberOfLayersPerTrack_";
- NumberOfLayersPerTrack = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, TKLayBin, TKLayMin, TKLayMax);
+ NumberOfLayersPerTrack = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, TKLayBin, TKLayMin, TKLayMax);
NumberOfLayersPerTrack->setAxisTitle("Number of Layers of each Track", 1);
NumberOfLayersPerTrack->setAxisTitle("Number of Tracks", 2);
+
if ( doRecHitVsPhiVsEtaPerTrack_ || doAllPlots_ ){
histname = "NumberOfRecHitVsPhiVsEtaPerTrack_";
- NumberOfRecHitVsPhiVsEtaPerTrack = dqmStore_->bookProfile2D(histname+CatagoryName, histname+CatagoryName,
+ NumberOfRecHitVsPhiVsEtaPerTrack = dqmStore_->bookProfile2D(histname+CategoryName, histname+CategoryName,
EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 40., "");
NumberOfRecHitVsPhiVsEtaPerTrack->setAxisTitle("Track #eta ", 1);
NumberOfRecHitVsPhiVsEtaPerTrack->setAxisTitle("Track #phi ", 2);
}
+
if ( doLayersVsPhiVsEtaPerTrack_ || doAllPlots_ ){
histname = "NumberOfLayersVsPhiVsEtaPerTrack_";
- NumberOfLayersVsPhiVsEtaPerTrack = dqmStore_->bookProfile2D(histname+CatagoryName, histname+CatagoryName,
+ NumberOfLayersVsPhiVsEtaPerTrack = dqmStore_->bookProfile2D(histname+CategoryName, histname+CategoryName,
EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax, 0, 40., "");
NumberOfLayersVsPhiVsEtaPerTrack->setAxisTitle("Track #eta ", 1);
NumberOfLayersVsPhiVsEtaPerTrack->setAxisTitle("Track #phi ", 2);
}
}
-
// book the General Property histograms
// ---------------------------------------------------------------------------------//
-
+
if (doGeneralPropertiesPlots_ || doAllPlots_){
+
+ int Chi2Bin = conf_.getParameter( "Chi2Bin");
+ double Chi2Min = conf_.getParameter("Chi2Min");
+ double Chi2Max = conf_.getParameter("Chi2Max");
+
+ int Chi2NDFBin = conf_.getParameter( "Chi2NDFBin");
+ double Chi2NDFMin = conf_.getParameter("Chi2NDFMin");
+ double Chi2NDFMax = conf_.getParameter("Chi2NDFMax");
+
+ int Chi2ProbBin = conf_.getParameter( "Chi2ProbBin");
+ double Chi2ProbMin = conf_.getParameter("Chi2ProbMin");
+ double Chi2ProbMax = conf_.getParameter("Chi2ProbMax");
+
- dqmStore_->setCurrentFolder(MEFolderName+"/GeneralProperties");
+ dqmStore_->setCurrentFolder(TopFolder_+"/GeneralProperties");
histname = "Chi2_";
- Chi2 = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, Chi2Bin, Chi2Min, Chi2Max);
+ Chi2 = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, Chi2Bin, Chi2Min, Chi2Max);
Chi2->setAxisTitle("Track #chi^{2}" ,1);
Chi2->setAxisTitle("Number of Tracks",2);
histname = "Chi2Prob_";
- Chi2Prob = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, Chi2ProbBin, Chi2ProbMin, Chi2ProbMax);
+ Chi2Prob = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, Chi2ProbBin, Chi2ProbMin, Chi2ProbMax);
Chi2Prob->setAxisTitle("Track #chi^{2} probability",1);
Chi2Prob->setAxisTitle("Number of Tracks" ,2);
histname = "Chi2oNDF_";
- Chi2oNDF = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, Chi2NDFBin, Chi2NDFMin, Chi2NDFMax);
+ Chi2oNDF = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, Chi2NDFBin, Chi2NDFMin, Chi2NDFMax);
Chi2oNDF->setAxisTitle("Track #chi^{2}/ndf",1);
Chi2oNDF->setAxisTitle("Number of Tracks" ,2);
- histname = "xPointOfClosestApproach_";
- xPointOfClosestApproach = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, VXBin, VXMin, VXMax);
- xPointOfClosestApproach->setAxisTitle("x component of Track PCA to beam line (cm)",1);
- xPointOfClosestApproach->setAxisTitle("Number of Tracks",2);
-
- histname = "yPointOfClosestApproach_";
- yPointOfClosestApproach = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, VYBin, VYMin, VYMax);
- yPointOfClosestApproach->setAxisTitle("y component of Track PCA to beam line (cm)",1);
- yPointOfClosestApproach->setAxisTitle("Number of Tracks",2);
-
- histname = "zPointOfClosestApproach_";
- zPointOfClosestApproach = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, VZBin, VZMin, VZMax);
- zPointOfClosestApproach->setAxisTitle("z component of Track PCA to beam line (cm)",1);
- zPointOfClosestApproach->setAxisTitle("Number of Tracks",2);
-
+ if (doDCAPlots_) {
+ histname = "xPointOfClosestApproach_";
+ xPointOfClosestApproach = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, VXBin, VXMin, VXMax);
+ xPointOfClosestApproach->setAxisTitle("x component of Track PCA to beam line (cm)",1);
+ xPointOfClosestApproach->setAxisTitle("Number of Tracks",2);
+
+ histname = "yPointOfClosestApproach_";
+ yPointOfClosestApproach = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, VYBin, VYMin, VYMax);
+ yPointOfClosestApproach->setAxisTitle("y component of Track PCA to beam line (cm)",1);
+ yPointOfClosestApproach->setAxisTitle("Number of Tracks",2);
+
+ histname = "zPointOfClosestApproach_";
+ zPointOfClosestApproach = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, VZBin, VZMin, VZMax);
+ zPointOfClosestApproach->setAxisTitle("z component of Track PCA to beam line (cm)",1);
+ zPointOfClosestApproach->setAxisTitle("Number of Tracks",2);
+
+ histname = "xPointOfClosestApproachToPV_";
+ xPointOfClosestApproachToPV = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, VXBin, VXMin, VXMax);
+ xPointOfClosestApproachToPV->setAxisTitle("x component of Track PCA to pv (cm)",1);
+ xPointOfClosestApproachToPV->setAxisTitle("Number of Tracks",2);
+
+ histname = "yPointOfClosestApproachToPV_";
+ yPointOfClosestApproachToPV = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, VYBin, VYMin, VYMax);
+ yPointOfClosestApproachToPV->setAxisTitle("y component of Track PCA to pv line (cm)",1);
+ yPointOfClosestApproachToPV->setAxisTitle("Number of Tracks",2);
+
+ histname = "zPointOfClosestApproachToPV_";
+ zPointOfClosestApproachToPV = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, VZBin, VZMin, VZMax);
+ zPointOfClosestApproachToPV->setAxisTitle("z component of Track PCA to pv line (cm)",1);
+ zPointOfClosestApproachToPV->setAxisTitle("Number of Tracks",2);
+ }
+
// See DataFormats/TrackReco/interface/TrackBase.h for track algorithm enum definition
// http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/DataFormats/TrackReco/interface/TrackBase.h?view=log
histname = "algorithm_";
- algorithm = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, 32, 0., 32.);
+ algorithm = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, 32, 0., 32.);
algorithm->setAxisTitle("Tracking algorithm",1);
algorithm->setAxisTitle("Number of Tracks",2);
}
-
+
+}
+
+void TrackAnalyzer::bookHistosForLScertification(DQMStore * dqmStore_) {
+
+ // parameters from the configuration
+ std::string QualName = conf_.getParameter("Quality");
+ std::string AlgoName = conf_.getParameter("AlgoName");
+
+ // use the AlgoName and Quality Name
+ std::string CategoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
+
+
// book LS analysis related histograms
// -----------------------------------
if ( doLumiAnalysis_ ) {
+
+ // get binning from the configuration
+ int TKHitBin = conf_.getParameter( "RecHitBin");
+ double TKHitMin = conf_.getParameter("RecHitMin");
+ double TKHitMax = conf_.getParameter("RecHitMax");
+
+ int Chi2NDFBin = conf_.getParameter( "Chi2NDFBin");
+ double Chi2NDFMin = conf_.getParameter("Chi2NDFMin");
+ double Chi2NDFMax = conf_.getParameter("Chi2NDFMax");
+
// add by Mia in order to deal w/ LS transitions
- dqmStore_->setCurrentFolder(MEFolderName+"/LSanalysis");
+ dqmStore_->setCurrentFolder(TopFolder_+"/LSanalysis");
histname = "NumberOfRecHitsPerTrack_lumiFlag_";
- NumberOfRecHitsPerTrack_lumiFlag = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, TKHitBin, TKHitMin, TKHitMax);
+ NumberOfRecHitsPerTrack_lumiFlag = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, TKHitBin, TKHitMin, TKHitMax);
NumberOfRecHitsPerTrack_lumiFlag->setAxisTitle("Number of all RecHits of each Track");
NumberOfRecHitsPerTrack_lumiFlag->setAxisTitle("Number of Tracks", 2);
histname = "Chi2oNDF_lumiFlag_";
- Chi2oNDF_lumiFlag = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, Chi2NDFBin, Chi2NDFMin, Chi2NDFMax);
+ Chi2oNDF_lumiFlag = dqmStore_->book1D(histname+CategoryName, histname+CategoryName, Chi2NDFBin, Chi2NDFMin, Chi2NDFMax);
Chi2oNDF_lumiFlag->setAxisTitle("Track #chi^{2}/ndf",1);
Chi2oNDF_lumiFlag->setAxisTitle("Number of Tracks" ,2);
- histname = "GoodTrackNumberOfRecHitsPerTrack_lumiFlag_";
- GoodTrackNumberOfRecHitsPerTrack_lumiFlag = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, TKHitBin, TKHitMin, TKHitMax);
- GoodTrackNumberOfRecHitsPerTrack_lumiFlag->setAxisTitle("Number of all RecHits of each Good Track");
- GoodTrackNumberOfRecHitsPerTrack_lumiFlag->setAxisTitle("Number of Good Tracks", 2);
-
- histname = "GoodTrackChi2oNDF_lumiFlag_";
- GoodTrackChi2oNDF_lumiFlag = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, Chi2NDFBin, Chi2NDFMin, Chi2NDFMax);
- GoodTrackChi2oNDF_lumiFlag->setAxisTitle("Good Track #chi^{2}/ndf",1);
- GoodTrackChi2oNDF_lumiFlag->setAxisTitle("Number of Good Tracks" ,2);
}
+}
+
+void TrackAnalyzer::bookHistosForBeamSpot(DQMStore * dqmStore_) {
+
+ // parameters from the configuration
+ std::string QualName = conf_.getParameter("Quality");
+ std::string AlgoName = conf_.getParameter("AlgoName");
+ // use the AlgoName and Quality Name
+ std::string CategoryName = QualName != "" ? AlgoName + "_" + QualName : AlgoName;
// book the Beam Spot related histograms
// ---------------------------------------------------------------------------------//
- if(doBSPlots_ || doAllPlots_)
- {
- // dqmStore_->setCurrentFolder(MEBSFolderName);
- dqmStore_->setCurrentFolder(MEFolderName+"/GeneralProperties");
-
- histname = "DistanceOfClosestApproachToBS_";
- DistanceOfClosestApproachToBS = dqmStore_->book1D(histname+CatagoryName,histname+CatagoryName,DxyBin,DxyMin,DxyMax);
- DistanceOfClosestApproachToBS->setAxisTitle("Track d_{xy} wrt beam spot (cm)",1);
- DistanceOfClosestApproachToBS->setAxisTitle("Number of Tracks",2);
+ if(doDCAPlots_ || doBSPlots_ || doAllPlots_) {
- histname = "DistanceOfClosestApproachToBSVsPhi_";
- DistanceOfClosestApproachToBSVsPhi = dqmStore_->bookProfile(histname+CatagoryName,histname+CatagoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax,"");
- DistanceOfClosestApproachToBSVsPhi->getTH1()->SetBit(TH1::kCanRebin);
- DistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track #phi",1);
- DistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track d_{xy} wrt beam spot (cm)",2);
+ int DxyBin = conf_.getParameter( "DxyBin");
+ double DxyMin = conf_.getParameter("DxyMin");
+ double DxyMax = conf_.getParameter("DxyMax");
+
+ int PhiBin = conf_.getParameter( "PhiBin");
+ double PhiMin = conf_.getParameter("PhiMin");
+ double PhiMax = conf_.getParameter("PhiMax");
+
+ int X0Bin = conf_.getParameter( "X0Bin");
+ double X0Min = conf_.getParameter("X0Min");
+ double X0Max = conf_.getParameter("X0Max");
+
+ int Y0Bin = conf_.getParameter( "Y0Bin");
+ double Y0Min = conf_.getParameter("Y0Min");
+ double Y0Max = conf_.getParameter("Y0Max");
+
+ int Z0Bin = conf_.getParameter( "Z0Bin");
+ double Z0Min = conf_.getParameter("Z0Min");
+ double Z0Max = conf_.getParameter("Z0Max");
+
+ int VZBinProf = conf_.getParameter( "VZBinProf");
+ double VZMinProf = conf_.getParameter("VZMinProf");
+ double VZMaxProf = conf_.getParameter("VZMaxProf");
+
+
+ dqmStore_->setCurrentFolder(TopFolder_+"/GeneralProperties");
+
+ histname = "DistanceOfClosestApproachToBS_";
+ DistanceOfClosestApproachToBS = dqmStore_->book1D(histname+CategoryName,histname+CategoryName,DxyBin,DxyMin,DxyMax);
+ DistanceOfClosestApproachToBS->setAxisTitle("Track d_{xy} wrt beam spot (cm)",1);
+ DistanceOfClosestApproachToBS->setAxisTitle("Number of Tracks",2);
+
+ histname = "DistanceOfClosestApproachToBSVsPhi_";
+ DistanceOfClosestApproachToBSVsPhi = dqmStore_->bookProfile(histname+CategoryName,histname+CategoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax,"");
+ DistanceOfClosestApproachToBSVsPhi->getTH1()->SetBit(TH1::kCanRebin);
+ DistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track #phi",1);
+ DistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track d_{xy} wrt beam spot (cm)",2);
+
+ histname = "xPointOfClosestApproachVsZ0wrt000_";
+ xPointOfClosestApproachVsZ0wrt000 = dqmStore_->bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max,"");
+ xPointOfClosestApproachVsZ0wrt000->setAxisTitle("d_{z} (cm)",1);
+ xPointOfClosestApproachVsZ0wrt000->setAxisTitle("x component of Track PCA to beam line (cm)",2);
+
+ histname = "yPointOfClosestApproachVsZ0wrt000_";
+ yPointOfClosestApproachVsZ0wrt000 = dqmStore_->bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max,"");
+ yPointOfClosestApproachVsZ0wrt000->setAxisTitle("d_{z} (cm)",1);
+ yPointOfClosestApproachVsZ0wrt000->setAxisTitle("y component of Track PCA to beam line (cm)",2);
+
+ histname = "xPointOfClosestApproachVsZ0wrtBS_";
+ xPointOfClosestApproachVsZ0wrtBS = dqmStore_->bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max,"");
+ xPointOfClosestApproachVsZ0wrtBS->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)",1);
+ xPointOfClosestApproachVsZ0wrtBS->setAxisTitle("x component of Track PCA to BS (cm)",2);
+
+ histname = "yPointOfClosestApproachVsZ0wrtBS_";
+ yPointOfClosestApproachVsZ0wrtBS = dqmStore_->bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max,"");
+ yPointOfClosestApproachVsZ0wrtBS->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)",1);
+ yPointOfClosestApproachVsZ0wrtBS->setAxisTitle("y component of Track PCA to BS (cm)",2);
+
+ histname = "zPointOfClosestApproachVsPhi_";
+ zPointOfClosestApproachVsPhi = dqmStore_->bookProfile(histname+CategoryName, histname+CategoryName, PhiBin, PhiMin, PhiMax, VZBinProf, VZMinProf, VZMaxProf, "");
+ zPointOfClosestApproachVsPhi->setAxisTitle("Track #phi",1);
+ zPointOfClosestApproachVsPhi->setAxisTitle("y component of Track PCA to beam line (cm)",2);
+ }
+
+ if(doDCAPlots_ || doPVPlots_ || doAllPlots_) {
+
+ int DxyBin = conf_.getParameter( "DxyBin");
+ double DxyMin = conf_.getParameter("DxyMin");
+ double DxyMax = conf_.getParameter("DxyMax");
+
+ int PhiBin = conf_.getParameter( "PhiBin");
+ double PhiMin = conf_.getParameter("PhiMin");
+ double PhiMax = conf_.getParameter("PhiMax");
+
+ int X0Bin = conf_.getParameter( "X0Bin");
+ double X0Min = conf_.getParameter("X0Min");
+ double X0Max = conf_.getParameter("X0Max");
+
+ int Y0Bin = conf_.getParameter( "Y0Bin");
+ double Y0Min = conf_.getParameter("Y0Min");
+ double Y0Max = conf_.getParameter("Y0Max");
+
+ int Z0Bin = conf_.getParameter( "Z0Bin");
+ double Z0Min = conf_.getParameter("Z0Min");
+ double Z0Max = conf_.getParameter("Z0Max");
+
+ dqmStore_->setCurrentFolder(TopFolder_+"/GeneralProperties");
+
+ histname = "DistanceOfClosestApproachToPV_";
+ DistanceOfClosestApproachToPV = dqmStore_->book1D(histname+CategoryName,histname+CategoryName,DxyBin,DxyMin,DxyMax);
+ DistanceOfClosestApproachToPV->setAxisTitle("Track d_{xy} wrt beam spot (cm)",1);
+ DistanceOfClosestApproachToPV->setAxisTitle("Number of Tracks",2);
+
+ histname = "DistanceOfClosestApproachToPVVsPhi_";
+ DistanceOfClosestApproachToPVVsPhi = dqmStore_->bookProfile(histname+CategoryName,histname+CategoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax,"");
+ DistanceOfClosestApproachToPVVsPhi->getTH1()->SetBit(TH1::kCanRebin);
+ DistanceOfClosestApproachToPVVsPhi->setAxisTitle("Track #phi",1);
+ DistanceOfClosestApproachToPVVsPhi->setAxisTitle("Track d_{xy} wrt beam spot (cm)",2);
+
+ histname = "xPointOfClosestApproachVsZ0wrtPV_";
+ xPointOfClosestApproachVsZ0wrtPV = dqmStore_->bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max,"");
+ xPointOfClosestApproachVsZ0wrtPV->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)",1);
+ xPointOfClosestApproachVsZ0wrtPV->setAxisTitle("x component of Track PCA to PV (cm)",2);
+
+ histname = "yPointOfClosestApproachVsZ0wrtPV_";
+ yPointOfClosestApproachVsZ0wrtPV = dqmStore_->bookProfile(histname+CategoryName, histname+CategoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max,"");
+ yPointOfClosestApproachVsZ0wrtPV->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)",1);
+ yPointOfClosestApproachVsZ0wrtPV->setAxisTitle("y component of Track PCA to PV (cm)",2);
+
+ }
+
+ if (doBSPlots_ || doAllPlots_) {
+ if (doTestPlots_) {
- histname = "xPointOfClosestApproachVsZ0wrt000_";
- xPointOfClosestApproachVsZ0wrt000 = dqmStore_->bookProfile(histname+CatagoryName, histname+CatagoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max,"");
- xPointOfClosestApproachVsZ0wrt000->setAxisTitle("d_{z} (cm)",1);
- xPointOfClosestApproachVsZ0wrt000->setAxisTitle("x component of Track PCA to beam line (cm)",2);
+ int DxyBin = conf_.getParameter( "DxyBin");
+ double DxyMin = conf_.getParameter("DxyMin");
+ double DxyMax = conf_.getParameter("DxyMax");
+
+ int PhiBin = conf_.getParameter( "PhiBin");
+ double PhiMin = conf_.getParameter("PhiMin");
+ double PhiMax = conf_.getParameter("PhiMax");
+
+ histname = "TESTDistanceOfClosestApproachToBS_";
+ TESTDistanceOfClosestApproachToBS = dqmStore_->book1D(histname+CategoryName,histname+CategoryName,DxyBin,DxyMin,DxyMax);
+ TESTDistanceOfClosestApproachToBS->setAxisTitle("Track d_{xy} wrt beam spot (cm)",1);
+ TESTDistanceOfClosestApproachToBS->setAxisTitle("Number of Tracks",2);
- histname = "yPointOfClosestApproachVsZ0wrt000_";
- yPointOfClosestApproachVsZ0wrt000 = dqmStore_->bookProfile(histname+CatagoryName, histname+CatagoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max,"");
- yPointOfClosestApproachVsZ0wrt000->setAxisTitle("d_{z} (cm)",1);
- yPointOfClosestApproachVsZ0wrt000->setAxisTitle("y component of Track PCA to beam line (cm)",2);
-
- histname = "xPointOfClosestApproachVsZ0wrtBS_";
- xPointOfClosestApproachVsZ0wrtBS = dqmStore_->bookProfile(histname+CatagoryName, histname+CatagoryName, Z0Bin, Z0Min, Z0Max, X0Bin, X0Min, X0Max,"");
- xPointOfClosestApproachVsZ0wrtBS->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)",1);
- xPointOfClosestApproachVsZ0wrtBS->setAxisTitle("x component of Track PCA to BS (cm)",2);
+ histname = "TESTDistanceOfClosestApproachToBSVsPhi_";
+ TESTDistanceOfClosestApproachToBSVsPhi = dqmStore_->bookProfile(histname+CategoryName,histname+CategoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax,"");
+ TESTDistanceOfClosestApproachToBSVsPhi->getTH1()->SetBit(TH1::kCanRebin);
+ TESTDistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track #phi",1);
+ TESTDistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track d_{xy} wrt beam spot (cm)",2);
- histname = "yPointOfClosestApproachVsZ0wrtBS_";
- yPointOfClosestApproachVsZ0wrtBS = dqmStore_->bookProfile(histname+CatagoryName, histname+CatagoryName, Z0Bin, Z0Min, Z0Max, Y0Bin, Y0Min, Y0Max,"");
- yPointOfClosestApproachVsZ0wrtBS->setAxisTitle("d_{z} w.r.t. Beam Spot (cm)",1);
- yPointOfClosestApproachVsZ0wrtBS->setAxisTitle("y component of Track PCA to BS (cm)",2);
-
- histname = "zPointOfClosestApproachVsPhi_";
- zPointOfClosestApproachVsPhi = dqmStore_->bookProfile(histname+CatagoryName, histname+CatagoryName, PhiBin, PhiMin, PhiMax, VZBin, VZMin, VZMax, "");
- zPointOfClosestApproachVsPhi->setAxisTitle("Track #phi",1);
- zPointOfClosestApproachVsPhi->setAxisTitle("y component of Track PCA to beam line (cm)",2);
-
- if (doTestPlots_) {
-
- histname = "TESTDistanceOfClosestApproachToBS_";
- TESTDistanceOfClosestApproachToBS = dqmStore_->book1D(histname+CatagoryName,histname+CatagoryName,DxyBin,DxyMin,DxyMax);
- TESTDistanceOfClosestApproachToBS->setAxisTitle("Track d_{xy} wrt beam spot (cm)",1);
- TESTDistanceOfClosestApproachToBS->setAxisTitle("Number of Tracks",2);
-
- histname = "TESTDistanceOfClosestApproachToBSVsPhi_";
- TESTDistanceOfClosestApproachToBSVsPhi = dqmStore_->bookProfile(histname+CatagoryName,histname+CatagoryName, PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax,"");
- TESTDistanceOfClosestApproachToBSVsPhi->getTH1()->SetBit(TH1::kCanRebin);
- TESTDistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track #phi",1);
- TESTDistanceOfClosestApproachToBSVsPhi->setAxisTitle("Track d_{xy} wrt beam spot (cm)",2);
-
- }
-
- }
-
- // book the Profile plots for DCA related histograms
- // ---------------------------------------------------------------------------------//
- if(doDCAPlots_ || doAllPlots_)
- {
- if (doDCAwrt000Plots_) {
- if (doThetaPlots_) {
- dqmStore_->setCurrentFolder(MEFolderName+"/GeneralProperties");
- histname = "DistanceOfClosestApproachVsTheta_";
- DistanceOfClosestApproachVsTheta = dqmStore_->bookProfile(histname+CatagoryName,histname+CatagoryName, ThetaBin, ThetaMin, ThetaMax, DxyMin,DxyMax,"");
- DistanceOfClosestApproachVsTheta->setAxisTitle("Track #theta",1);
- DistanceOfClosestApproachVsTheta->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)",2);
- }
-
- histname = "DistanceOfClosestApproachVsEta_";
- DistanceOfClosestApproachVsEta = dqmStore_->bookProfile(histname+CatagoryName,histname+CatagoryName, EtaBin, EtaMin, EtaMax, DxyMin, DxyMax,"");
- DistanceOfClosestApproachVsEta->setAxisTitle("Track #eta",1);
- DistanceOfClosestApproachVsEta->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)",2);
- // temporary patch in order to put back those MEs in Muon Workspace
-
- histname = "DistanceOfClosestApproach_";
- DistanceOfClosestApproach = dqmStore_->book1D(histname+CatagoryName,histname+CatagoryName,DxyBin,DxyMin,DxyMax);
- DistanceOfClosestApproach->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)",1);
- DistanceOfClosestApproach->setAxisTitle("Number of Tracks",2);
-
- histname = "DistanceOfClosestApproachVsPhi_";
- DistanceOfClosestApproachVsPhi = dqmStore_->bookProfile(histname+CatagoryName,histname+CatagoryName, PhiBin, PhiMin, PhiMax, DxyMin,DxyMax,"");
- DistanceOfClosestApproachVsPhi->getTH1()->SetBit(TH1::kCanRebin);
- DistanceOfClosestApproachVsPhi->setAxisTitle("Track #phi",1);
- DistanceOfClosestApproachVsPhi->setAxisTitle("Track d_{xy} wrt (0,0,0) (cm)",2);
- }
}
-
-
- // book tracker specific related histograms
- // ---------------------------------------------------------------------------------//
- if(doTrackerSpecific_ || doAllPlots_)
- {
- doTrackerSpecificInitialization(dqmStore_);
- }
-
- // book state related histograms
- // ---------------------------------------------------------------------------------//
- if (doMeasurementStatePlots_ || doAllPlots_){
-
- std::string StateName = conf_.getParameter("MeasurementState");
- if (StateName == "All")
- {
- bookHistosForState("OuterSurface", dqmStore_);
- bookHistosForState("InnerSurface", dqmStore_);
- bookHistosForState("ImpactPoint" , dqmStore_);
- }
- else if
- (
- StateName != "OuterSurface" &&
- StateName != "InnerSurface" &&
- StateName != "ImpactPoint" &&
- StateName != "default"
- )
- {
- bookHistosForState("default", dqmStore_);
- }
- else
- {
- bookHistosForState(StateName, dqmStore_);
- }
}
- // book histos for good tracks (HP + Pt>1GeV)
+ // book the Profile plots for DCA related histograms
// ---------------------------------------------------------------------------------//
+ if(doDCAPlots_ || doAllPlots_) {
- if ( doGoodTrackPlots_ || doAllPlots_ ) {
-
- dqmStore_->setCurrentFolder(MEFolderName+"/GeneralProperties/GoodTracks");
-
- histname = "GoodTrackChi2oNDF_";
- GoodTrackChi2oNDF = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, Chi2NDFBin, Chi2NDFMin, Chi2NDFMax);
- GoodTrackChi2oNDF->setAxisTitle("Good Track #chi^{2}/ndf",1);
- GoodTrackChi2oNDF->setAxisTitle("Number of Good Tracks" ,2);
-
- histname = "GoodTrackChi2Prob_";
- GoodTrackChi2Prob = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, Chi2ProbBin, Chi2ProbMin, Chi2ProbMax);
- GoodTrackChi2Prob->setAxisTitle("Good Track #chi^{2} probability",1);
- GoodTrackChi2Prob->setAxisTitle("Number of Good Tracks" ,2);
-
- histname = "GoodTrackChi2oNDFVsPhi_";
- GoodTrackChi2oNDFVsPhi = dqmStore_->bookProfile(histname+CatagoryName, histname+CatagoryName, PhiBin, PhiMin, PhiMax, Chi2NDFMin, Chi2NDFMax);
- GoodTrackChi2oNDFVsPhi->setAxisTitle("Good Tracks #phi" ,1);
- GoodTrackChi2oNDFVsPhi->setAxisTitle("Good Track #chi^{2}/ndf",2);
-
- histname = "GoodTrackChi2ProbVsPhi_";
- GoodTrackChi2ProbVsPhi = dqmStore_->bookProfile(histname+CatagoryName, histname+CatagoryName, PhiBin, PhiMin, PhiMax, Chi2ProbMin, Chi2ProbMax);
- GoodTrackChi2ProbVsPhi->setAxisTitle("Good Tracks #phi" ,1);
- GoodTrackChi2ProbVsPhi->setAxisTitle("Good Track #chi^{2} probability",2);
-
- histname = "GoodTrackChi2oNDFVsEta_";
- GoodTrackChi2oNDFVsEta = dqmStore_->bookProfile(histname+CatagoryName, histname+CatagoryName, EtaBin, EtaMin, EtaMax, Chi2NDFMin, Chi2NDFMax);
- GoodTrackChi2oNDFVsEta->setAxisTitle("Good Tracks #eta" ,1);
- GoodTrackChi2oNDFVsEta->setAxisTitle("Good Track #chi^{2}/ndf",2);
+ if (doDCAwrt000Plots_) {
- histname = "GoodTrackChi2ProbVsEta_";
- GoodTrackChi2ProbVsEta = dqmStore_->bookProfile(histname+CatagoryName, histname+CatagoryName, EtaBin, EtaMin, EtaMax, Chi2ProbMin, Chi2ProbMax);
- GoodTrackChi2ProbVsEta->setAxisTitle("Good Tracks #eta" ,1);
- GoodTrackChi2ProbVsEta->setAxisTitle("Good Track #chi^{2} probability",2);
-
- histname = "GoodTrackAlgorithm_";
- GoodTrackAlgorithm = dqmStore_->book1D(histname+CatagoryName, histname+CatagoryName, 32, 0., 32.);
- GoodTrackAlgorithm->setAxisTitle("Good Track tracking algorithm",1);
- GoodTrackAlgorithm->setAxisTitle("Number of Good Tracks",2);
-
-
- dqmStore_->setCurrentFolder(MEFolderName+"/HitProperties/GoodTracks");
+ int EtaBin = conf_.getParameter( "EtaBin");
+ double EtaMin = conf_.getParameter("EtaMin");
+ double EtaMax = conf_.getParameter("EtaMax");
+
+ int PhiBin = conf_.getParameter( "PhiBin");
+ double PhiMin = conf_.getParameter