A Standalone Tool for Trend Monitoring


This tool aims to assess the detector stability with respect to detector aging and data-taking conditions. It looks observables that are not present in the historical DQM such efficiency and background as a function of integrated luminosity, Pileup, instantaneous Luminosity etc..
The tool uses the DT official ntuples. Details can be found in DtNtuples.


A CMSSW environment is needed to have the right libraries. A 8_0_X release or higher it's ok. Instructions can be find in WorkBookSetComputerNode

Check-out the code from this repository from the src directory of the CMSSW release.

git clone https://github.com/cmsdtoffline/DTTrendMonitoring.git DTTrendMonitoring
cd DTTrendMonitoring
git checkout plotterClass

Integrated luminosity calculation

To use the script to compute the integrated luminosity you need to setup brilcalc.

source Setup.sh 

To create the csv file with integrated luminosity per RUN number use the pyhton script createJSONs.py. There are 3 different way to use it.

To compute the integrated luminosity for a single run:

./python createJSONs.py -r runnumber -y year

To compute the integrated luminosity for every run in a dt rootple:

./python createJSONs.py -e fileName.root -y year

To compute the integrated luminosity for every run in the dt rootple stored in eos of every run period in a year :

./python createJSONs.py -y year

For example :

python createJSONs.py -e /eos/cms/store/group/dpg_dt/comm_dt/dtRootple2017/Express/DTTree_Run295463.root -y 2017
  • year is needed to save the results in the file for that year.

Main commands

There are two type of run:

  • As a function of variables such integrated luminosity or time where you add new bins in order to have a trending plot. The main command is run_IncreasingRange.C

  • As a function of variables such instantaneous luminosity or PU where the variable range is fixed and you can increase the statistic using new files. The main command is run_FixedRange.C

To save the plots in a web page, inside the two files you need to change the incrCont.webFolder variable with the right path. You have also to copy the file named index.php that is in the folder named plot in the same path of the web folder.

To run the code for the first option, please follow these steps:

root -b
.L run_IncreasingRange.C+

Then to start from scratch with a new file


Where refName is the name of the file where supplementary information such dead channels are stored for further uses, storingName is the name of the root file where the results will be stored and file.root is the DT ntuple you are running on. The storage is located in data/results . refName corresponds also to the name of the directory in the web page where the plots will be shown.

As example:




If there is already a stored file and you want to update the old plots with the new file please do:


where storedName correspond to the file name in data/results where the previous results are stored.

For the second option the procedure is identical but using run_FixedRange.C instead of run_IncreasingRange.C

It is also possible to run more then one file at the same time:


Advanced Options

Change observables

working on


Gian Luca Pinna Angioni gian.luca.pinna.angioni@cernNOSPAMPLEASE.ch

-- Main.CarloBattilana - 2018-12-07

Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2018-12-13 - GianLucaPinnaAngioni
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback