CMSTrackerDPG / Tasks

0 stars 0 forks source link

TkDQM: Issue with Pixel Phase1 Online DQM #14

Open sroychow opened 1 year ago

sroychow commented 1 year ago

Problem reported in 2022 w.r.t Online DQM pixel client - LS missing from processed plots. The problem seems to have appeared this year as well. Please review this as soon as possible. A set of runs will be provided by online experts.

alaperto commented 4 months ago

Hello, this is the DQM package that builds the Pixel Summary Maps.

Essentially there are 2 files:


Inside the .cc file, there are separate actions for the Online and Offline Summary, based on this Bool if (runOnEndLumi) --> Online if (!runOnEndLumi) --> Offline


The Offline Summary map (also called "Grand" Summary) is defined here: 12x4

The Online Summary map is defined here: 2x4


Both Online and Offline have 5 Report maps, while Cosmics only on 3.

RunQTests_online = cms.Sequence(ADCQTester * NumClustersQTester * NumDigisQTester * SizeQTester * ChargeQTester)
RunQTests_offline = cms.Sequence(ADCQTester_offline * NumClustersQTester_offline * NumDigisQTester_offline * SizeQTester_offline * ChargeQTester_offline)
RunQTests_cosmics = cms.Sequence(NumDigisQTester_cosmics * SizeQTester_cosmics * ChargeQTester_cosmics)

The Report maps are defined here: 12x4

I have not found in the code the threshold values for the 5 Report maps... Are they stored somewhere else?

The Report maps are stored in a sub-folder: PixelPhase1/Phase1_MechanicalView/

Example of Report maps for:

Together with the 5 Report maps, there is also the "deadROCSummary" map in the Offline GUI, but it seems this ROC map (2x4) is not used in the Offline Summary (12x4).

The Offline Summary map is filled here, as the worst value of each bin:


It seems that the Online Summary map (2x4) is filled only related to the "deadROCSummary" (2x4):

deadRocThreshold and WarnThreshold are taken from the .py file:

  deadRocThresholds_ = conf_.getParameter<std::vector<double> >("DeadROCErrorThreshold");
  deadRocWarnThresholds_ = conf_.getParameter<std::vector<double> >("DeadROCWarningThreshold");

Here the 6 values for DeadROC Error/Warning Thresholds in the .py file.

    # Number of dead ROCs required to generate an error. Order must be layers 1-4, ring1, ring2.
    DeadROCErrorThreshold = cms.vdouble(0.2,0.2,0.2,0.2,0.2,0.2),
    DeadROCWarningThreshold = cms.vdouble(0.1,0.1,0.1,0.1,0.1,0.1)

There are always 6 values for Online/Offline/Cosmics, but maybe this is only used in Online since it is only referred to the 4 Layers + 2 Rings = 6 bins of the Online maps.