TPC MC/Anchor validation - standard QA

Sofware

  • This notebook was tested with folloing software
  • Patched version of AliPhysics to work with AliRoot master ()
    • AliRoot - v5-07-20-4937-gb084d2f
    • AliPhysics - v5-07-19-01-20861-g117a5ae

Goal

Compare MC with the Anchored data period. Only some part of the functionality as defined in the macro:

AliPhysics_SRC/PWGPP/TPC/macros/tpcMCValidation.C+
  • Alarms definition
    • compare data with expectation - "invariants" defiend differnces, ratio
    • hierarchy of alarms used

Algorithm to show

  1. Load input data
  2. Define alarm aliases in InitTPCMCValidation
    • Alarms TPC/ITS/TRD specific
    • Example- Redefine some alarms
  3. Make Status plot draw example using AliTreeTrending
  4. Make example plot using AliTreeTrending
    • In particular case of the TPC MC/Anchor trending ("LHC15k1a1","passMC","LHC15o", "pass3_lowIR_pidfix") outlier detected in DCA
    • outlier bacause of differnt DCA for B+ and B-
    • less frequent B filed tagged as outlier

Consideration + To do for ROOT6:

  1. Use TMVA interface to define expectation - Work in progress
    • More statistic needed
    • several MC production to join to define "normal behaviour"
  2. Many alarm functions/aliases defined. Big depth
    • see list of aliase defined
    • ==> slow evaluation of the TTreeFormula
  3. Code to be addopted for ROOT6 - using TDataFrame functionality instead of TTreeFormula
    • using TDataFrame JIT compiled version of functions to be executed
    • first attempt failed
    • CLING/JIT require to have all symbols defined during comilation time
    • TTreeFormula needs symbols only diring evaluation time
      • not possible to redefine formulas in the way as redefine Aliases
      • Work in progress

Enable/disable %jsroot --> (static or dynamic graphic).

To export notebook to agenda - only static case can be used


In [1]:
%jsroot

In [2]:
gSystem->AddIncludePath("-I$ALICE_ROOT/include/"); //couldn't add include path in .rootr
AliDrawStyle::SetDefaults();
AliDrawStyle::ApplyStyle("figTemplate");
TCanvas *canvasDraw = new TCanvas("canvasDraw","canvasDraw",600,600);



Info in <AliDrawStyle::ApplyStyle>: figTemplate

Load tpcMCValidation.C

In case macro loaded in directory without write permission - could failed


In [3]:
.L $AliPhysics_SRC/PWGPP/TPC/macros/tpcMCValidation.C+

Init TPC MC/Anchor validation

  • Load input data
    • InitTPCMCValidation(TString mcPeriod, TString mcPass, TString anchorPeriod, TString anchorPass, Int_t verbose,Int_t doCheck)
    • Internally using AliExternalInfo - GetTree
  • define alams
    • void makeTPCMCAlarms(TTree * treeMC, Bool_t doCheck,Int_t verbose)

In [4]:
InitTPCMCValidation("LHC15k1a1","passMC","LHC15o", "pass3_lowIR_pidfix",0,0); /// function defined in macro


Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/sim/2015/LHC15k1a1/passMC/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76733 s old; NOT older than the set timelimit 86400 s
Info in <qatpcAddMetadata>: Start processing Tree trending
Info in <qatpcAddMetadata>: End
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/sim/2015/LHC15k1a1/passMC/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76734 s old; NOT older than the set timelimit 86400 s
Info in <ACLiC>: unmodified script has already been compiled and loaded
Info in <qatpcAddMetadata>: Start processing Tree trending
Info in <qatpcAddMetadata>: End
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/sim/2015/LHC15k1a1/passMC/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76148 s old; NOT older than the set timelimit 86400 s
curl -Lk -z /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/sim/2015/LHC15k1a1/passMC/TOF_trending.root --tlsv1 --cert $HOME/.globus/usercert.pem --key $HOME/.globus/userkey.pem -o /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/sim/2015/LHC15k1a1/passMC/TOF_trending.root "http://aliqatof.web.cern.ch/aliqatof/sim/2015/LHC15k1a1/passMC/trending.root"
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/sim/2015/LHC15k1a1/passMC/
Info in <AliExternalInfo::Cache>: Caching of LHC15k1a1 passMC from QA.TOF in start path /afs/cern.ch/work/m/mivanov/AliExternalInfoCache
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/sim/2015/LHC15k1a1/passMC/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File not found locally --> Caching from remote
Warning: Illegal date format for -z, --timecond (and not a file name). 
Warning: Disabling time condition. See curl_getdate(3) for valid date syntax.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4470  100  4470    0     0   107k      0 --:--:-- --:--:-- --:--:--  111k
Error in <TFile::Init>: /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/sim/2015/LHC15k1a1/passMC/TOF_trending.root not a ROOT file
Error in <AliExternalInfo::Cache>: Curl caching failed
Error in <AliExternalInfo::GetTree>: Caching failed internalFileName	/afs/cern.ch/work/m/mivanov/AliExternalInfoCache/sim/2015/LHC15k1a1/passMC/TOF_trending.root	rootFileName	trending.root
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/sim/2015/LHC15k1a1/passMC/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76423 s old; NOT older than the set timelimit 86400 s
Info in <qaitsAddMetadata>: Start processing Tree trending
Info in <qaitsAddMetadata>: End
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/pass3_lowIR_pidfix/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76620 s old; NOT older than the set timelimit 86400 s
Info in <ACLiC>: unmodified script has already been compiled and loaded
Info in <qatpcAddMetadata>: Start processing Tree trending
Info in <qatpcAddMetadata>: End
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76462 s old; NOT older than the set timelimit 86400 s
Info in <logbookAddMetadata>: Start processing Tree logbook
Info in <logbookAddMetadata>: End
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/pass3_lowIR_pidfix/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 5420 s old; NOT older than the set timelimit 86400 s
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76462 s old; NOT older than the set timelimit 86400 s
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/pass3_lowIR_pidfix/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76516 s old; NOT older than the set timelimit 86400 s
Info in <ACLiC>: unmodified script has already been compiled and loaded
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76463 s old; NOT older than the set timelimit 86400 s
Info in <ACLiC>: unmodified script has already been compiled and loaded
Info in <logbookAddMetadata>: Start processing Tree logbook
Info in <logbookAddMetadata>: End
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/pass3_lowIR_pidfix/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76516 s old; NOT older than the set timelimit 86400 s
Info in <ACLiC>: unmodified script has already been compiled and loaded
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76463 s old; NOT older than the set timelimit 86400 s
Info in <ACLiC>: unmodified script has already been compiled and loaded
Info in <logbookAddMetadata>: Start processing Tree logbook
Info in <logbookAddMetadata>: End
Info in <InitTPCMCValidation>: QA.TRD tree entries: 13
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/pass3_lowIR_pidfix/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76223 s old; NOT older than the set timelimit 86400 s
Info in <ACLiC>: unmodified script has already been compiled and loaded
Info in <qaitsAddMetadata>: Start processing Tree trending
Info in <qaitsAddMetadata>: End
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76463 s old; NOT older than the set timelimit 86400 s
Info in <ACLiC>: unmodified script has already been compiled and loaded
Info in <logbookAddMetadata>: Start processing Tree logbook
Info in <logbookAddMetadata>: End
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/pass3_lowIR_pidfix/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76223 s old; NOT older than the set timelimit 86400 s
Info in <ACLiC>: unmodified script has already been compiled and loaded
Info in <qaitsAddMetadata>: Start processing Tree trending
Info in <qaitsAddMetadata>: End
Info in <AliExternalInfo::SetupVariables>: Information will be stored/retrieved in/from /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/
Info in <AliExternalInfo::IsDownloadNeeded>: -- File is 76463 s old; NOT older than the set timelimit 86400 s
Info in <ACLiC>: unmodified script has already been compiled and loaded
Info in <logbookAddMetadata>: Start processing Tree logbook
Info in <logbookAddMetadata>: End
Info in <InitTPCMCValidation>: QA.ITS tree entries: 13
Info in <InitTPCMCValidation>: QA runs:	MC=11	Anchor=10	Match=10
define alias:	diff0.meanTPCncl_OutlierMin = (5.038842-6.000000*0.098020-0.000001)
define alias:	diff0.meanTPCncl_OutlierMax = (5.038842+6.000000*0.098020+0.000001)
define alias:	diff0.meanTPCncl_WarningMin = (5.038842-3.000000*0.098020-0.000001)
define alias:	diff0.meanTPCncl_WarningMax = (5.038842+3.000000*0.098020+0.000001)
define alias:	diff0.meanTPCncl_PhysAccMin = (5.038842-0.100000*5.038842)
define alias:	diff0.meanTPCncl_PhysAccMax = (5.038842+0.100000*5.038842)
define alias:	diff0.meanTPCncl_RobustMean = (5.038842+0)
define alias:	diff0.meanTPCncl_Outlier = (diff0.meanTPCncl>diff0.meanTPCncl_OutlierMax||diff0.meanTPCncl<diff0.meanTPCncl_OutlierMin)
define alias:	diff0.meanTPCncl_Warning = (diff0.meanTPCncl>diff0.meanTPCncl_WarningMax||diff0.meanTPCncl<diff0.meanTPCncl_WarningMin)
define alias:	diff0.meanTPCncl_PhysAcc = (diff0.meanTPCncl>diff0.meanTPCncl_PhysAccMin&&diff0.meanTPCncl<diff0.meanTPCncl_PhysAccMax)
define alias:	diff0.meanTPCnclF_OutlierMin = (0.042166-6.000000*0.000729-0.000001)
define alias:	diff0.meanTPCnclF_OutlierMax = (0.042166+6.000000*0.000729+0.000001)
define alias:	diff0.meanTPCnclF_WarningMin = (0.042166-3.000000*0.000729-0.000001)
define alias:	diff0.meanTPCnclF_WarningMax = (0.042166+3.000000*0.000729+0.000001)
define alias:	diff0.meanTPCnclF_PhysAccMin = (0.042166-0.100000*0.042166)
define alias:	diff0.meanTPCnclF_PhysAccMax = (0.042166+0.100000*0.042166)
define alias:	diff0.meanTPCnclF_RobustMean = (0.042166+0)
define alias:	diff0.meanTPCnclF_Outlier = (diff0.meanTPCnclF>diff0.meanTPCnclF_OutlierMax||diff0.meanTPCnclF<diff0.meanTPCnclF_OutlierMin)
define alias:	diff0.meanTPCnclF_Warning = (diff0.meanTPCnclF>diff0.meanTPCnclF_WarningMax||diff0.meanTPCnclF<diff0.meanTPCnclF_WarningMin)
define alias:	diff0.meanTPCnclF_PhysAcc = (diff0.meanTPCnclF>diff0.meanTPCnclF_PhysAccMin&&diff0.meanTPCnclF<diff0.meanTPCnclF_PhysAccMax)
define alias:	ratio.dcarAP0_OutlierMin = (0.854818-6.000000*0.023143-0.000001)
define alias:	ratio.dcarAP0_OutlierMax = (0.854818+6.000000*0.023143+0.000001)
define alias:	ratio.dcarAP0_WarningMin = (0.854818-3.000000*0.023143-0.000001)
define alias:	ratio.dcarAP0_WarningMax = (0.854818+3.000000*0.023143+0.000001)
define alias:	ratio.dcarAP0_PhysAccMin = (0.854818-0.100000*0.854818)
define alias:	ratio.dcarAP0_PhysAccMax = (0.854818+0.100000*0.854818)
define alias:	ratio.dcarAP0_RobustMean = (0.854818+0)
define alias:	ratio.dcarAP0_Outlier = (ratio.dcarAP0>ratio.dcarAP0_OutlierMax||ratio.dcarAP0<ratio.dcarAP0_OutlierMin)
define alias:	ratio.dcarAP0_Warning = (ratio.dcarAP0>ratio.dcarAP0_WarningMax||ratio.dcarAP0<ratio.dcarAP0_WarningMin)
define alias:	ratio.dcarAP0_PhysAcc = (ratio.dcarAP0>ratio.dcarAP0_PhysAccMin&&ratio.dcarAP0<ratio.dcarAP0_PhysAccMax)
define alias:	ratio.dcarAP1_OutlierMin = (1.058693-6.000000*0.004427-0.000001)
define alias:	ratio.dcarAP1_OutlierMax = (1.058693+6.000000*0.004427+0.000001)
define alias:	ratio.dcarAP1_WarningMin = (1.058693-3.000000*0.004427-0.000001)
define alias:	ratio.dcarAP1_WarningMax = (1.058693+3.000000*0.004427+0.000001)
define alias:	ratio.dcarAP1_PhysAccMin = (1.058693-0.100000*1.058693)
define alias:	ratio.dcarAP1_PhysAccMax = (1.058693+0.100000*1.058693)
define alias:	ratio.dcarAP1_RobustMean = (1.058693+0)
define alias:	ratio.dcarAP1_Outlier = (ratio.dcarAP1>ratio.dcarAP1_OutlierMax||ratio.dcarAP1<ratio.dcarAP1_OutlierMin)
define alias:	ratio.dcarAP1_Warning = (ratio.dcarAP1>ratio.dcarAP1_WarningMax||ratio.dcarAP1<ratio.dcarAP1_WarningMin)
define alias:	ratio.dcarAP1_PhysAcc = (ratio.dcarAP1>ratio.dcarAP1_PhysAccMin&&ratio.dcarAP1<ratio.dcarAP1_PhysAccMax)
define alias:	ratio.dcarCP0_OutlierMin = (0.937144-6.000000*0.023673-0.000001)
define alias:	ratio.dcarCP0_OutlierMax = (0.937144+6.000000*0.023673+0.000001)
define alias:	ratio.dcarCP0_WarningMin = (0.937144-3.000000*0.023673-0.000001)
define alias:	ratio.dcarCP0_WarningMax = (0.937144+3.000000*0.023673+0.000001)
define alias:	ratio.dcarCP0_PhysAccMin = (0.937144-0.100000*0.937144)
define alias:	ratio.dcarCP0_PhysAccMax = (0.937144+0.100000*0.937144)
define alias:	ratio.dcarCP0_RobustMean = (0.937144+0)
define alias:	ratio.dcarCP0_Outlier = (ratio.dcarCP0>ratio.dcarCP0_OutlierMax||ratio.dcarCP0<ratio.dcarCP0_OutlierMin)
define alias:	ratio.dcarCP0_Warning = (ratio.dcarCP0>ratio.dcarCP0_WarningMax||ratio.dcarCP0<ratio.dcarCP0_WarningMin)
define alias:	ratio.dcarCP0_PhysAcc = (ratio.dcarCP0>ratio.dcarCP0_PhysAccMin&&ratio.dcarCP0<ratio.dcarCP0_PhysAccMax)
define alias:	ratio.dcarCP1_OutlierMin = (1.047375-6.000000*0.003030-0.000001)
define alias:	ratio.dcarCP1_OutlierMax = (1.047375+6.000000*0.003030+0.000001)
define alias:	ratio.dcarCP1_WarningMin = (1.047375-3.000000*0.003030-0.000001)
define alias:	ratio.dcarCP1_WarningMax = (1.047375+3.000000*0.003030+0.000001)
define alias:	ratio.dcarCP1_PhysAccMin = (1.047375-0.100000*1.047375)
define alias:	ratio.dcarCP1_PhysAccMax = (1.047375+0.100000*1.047375)
define alias:	ratio.dcarCP1_RobustMean = (1.047375+0)
define alias:	ratio.dcarCP1_Outlier = (ratio.dcarCP1>ratio.dcarCP1_OutlierMax||ratio.dcarCP1<ratio.dcarCP1_OutlierMin)
define alias:	ratio.dcarCP1_Warning = (ratio.dcarCP1>ratio.dcarCP1_WarningMax||ratio.dcarCP1<ratio.dcarCP1_WarningMin)
define alias:	ratio.dcarCP1_PhysAcc = (ratio.dcarCP1>ratio.dcarCP1_PhysAccMin&&ratio.dcarCP1<ratio.dcarCP1_PhysAccMax)
define alias:	diff0.dcar_posA_0_OutlierMin = (0.013719-6.000000*0.015791-0.000001)
define alias:	diff0.dcar_posA_0_OutlierMax = (0.013719+6.000000*0.015791+0.000001)
define alias:	diff0.dcar_posA_0_WarningMin = (0.013719-3.000000*0.015791-0.000001)
define alias:	diff0.dcar_posA_0_WarningMax = (0.013719+3.000000*0.015791+0.000001)
define alias:	diff0.dcar_posA_0_PhysAccMin = (0.013719-0.100000*0.013719)
define alias:	diff0.dcar_posA_0_PhysAccMax = (0.013719+0.100000*0.013719)
define alias:	diff0.dcar_posA_0_RobustMean = (0.013719+0)
define alias:	diff0.dcar_posA_0_Outlier = (diff0.dcar_posA_0>diff0.dcar_posA_0_OutlierMax||diff0.dcar_posA_0<diff0.dcar_posA_0_OutlierMin)
define alias:	diff0.dcar_posA_0_Warning = (diff0.dcar_posA_0>diff0.dcar_posA_0_WarningMax||diff0.dcar_posA_0<diff0.dcar_posA_0_WarningMin)
define alias:	diff0.dcar_posA_0_PhysAcc = (diff0.dcar_posA_0>diff0.dcar_posA_0_PhysAccMin&&diff0.dcar_posA_0<diff0.dcar_posA_0_PhysAccMax)
define alias:	diff0.dcar_posC_0_OutlierMin = (-0.012325-6.000000*0.033766-0.000001)
define alias:	diff0.dcar_posC_0_OutlierMax = (-0.012325+6.000000*0.033766+0.000001)
define alias:	diff0.dcar_posC_0_WarningMin = (-0.012325-3.000000*0.033766-0.000001)
define alias:	diff0.dcar_posC_0_WarningMax = (-0.012325+3.000000*0.033766+0.000001)
define alias:	diff0.dcar_posC_0_PhysAccMin = (-0.012325-0.100000*-0.012325)
define alias:	diff0.dcar_posC_0_PhysAccMax = (-0.012325+0.100000*-0.012325)
define alias:	diff0.dcar_posC_0_RobustMean = (-0.012325+0)
define alias:	diff0.dcar_posC_0_Outlier = (diff0.dcar_posC_0>diff0.dcar_posC_0_OutlierMax||diff0.dcar_posC_0<diff0.dcar_posC_0_OutlierMin)
define alias:	diff0.dcar_posC_0_Warning = (diff0.dcar_posC_0>diff0.dcar_posC_0_WarningMax||diff0.dcar_posC_0<diff0.dcar_posC_0_WarningMin)
define alias:	diff0.dcar_posC_0_PhysAcc = (diff0.dcar_posC_0>diff0.dcar_posC_0_PhysAccMin&&diff0.dcar_posC_0<diff0.dcar_posC_0_PhysAccMax)
define alias:	diff0.dcar_negA_0_OutlierMin = (0.041424-6.000000*0.029050-0.000001)
define alias:	diff0.dcar_negA_0_OutlierMax = (0.041424+6.000000*0.029050+0.000001)
define alias:	diff0.dcar_negA_0_WarningMin = (0.041424-3.000000*0.029050-0.000001)
define alias:	diff0.dcar_negA_0_WarningMax = (0.041424+3.000000*0.029050+0.000001)
define alias:	diff0.dcar_negA_0_PhysAccMin = (0.041424-0.100000*0.041424)
define alias:	diff0.dcar_negA_0_PhysAccMax = (0.041424+0.100000*0.041424)
define alias:	diff0.dcar_negA_0_RobustMean = (0.041424+0)
define alias:	diff0.dcar_negA_0_Outlier = (diff0.dcar_negA_0>diff0.dcar_negA_0_OutlierMax||diff0.dcar_negA_0<diff0.dcar_negA_0_OutlierMin)
define alias:	diff0.dcar_negA_0_Warning = (diff0.dcar_negA_0>diff0.dcar_negA_0_WarningMax||diff0.dcar_negA_0<diff0.dcar_negA_0_WarningMin)
define alias:	diff0.dcar_negA_0_PhysAcc = (diff0.dcar_negA_0>diff0.dcar_negA_0_PhysAccMin&&diff0.dcar_negA_0<diff0.dcar_negA_0_PhysAccMax)
define alias:	diff0.dcar_negC_0_OutlierMin = (0.026154-6.000000*0.027895-0.000001)
define alias:	diff0.dcar_negC_0_OutlierMax = (0.026154+6.000000*0.027895+0.000001)
define alias:	diff0.dcar_negC_0_WarningMin = (0.026154-3.000000*0.027895-0.000001)
define alias:	diff0.dcar_negC_0_WarningMax = (0.026154+3.000000*0.027895+0.000001)
define alias:	diff0.dcar_negC_0_PhysAccMin = (0.026154-0.100000*0.026154)
define alias:	diff0.dcar_negC_0_PhysAccMax = (0.026154+0.100000*0.026154)
define alias:	diff0.dcar_negC_0_RobustMean = (0.026154+0)
define alias:	diff0.dcar_negC_0_Outlier = (diff0.dcar_negC_0>diff0.dcar_negC_0_OutlierMax||diff0.dcar_negC_0<diff0.dcar_negC_0_OutlierMin)
define alias:	diff0.dcar_negC_0_Warning = (diff0.dcar_negC_0>diff0.dcar_negC_0_WarningMax||diff0.dcar_negC_0<diff0.dcar_negC_0_WarningMin)
define alias:	diff0.dcar_negC_0_PhysAcc = (diff0.dcar_negC_0>diff0.dcar_negC_0_PhysAccMin&&diff0.dcar_negC_0<diff0.dcar_negC_0_PhysAccMax)
define alias:	diff0.dcaz_posA_0_OutlierMin = (-0.074742-6.000000*0.002203-0.000001)
define alias:	diff0.dcaz_posA_0_OutlierMax = (-0.074742+6.000000*0.002203+0.000001)
define alias:	diff0.dcaz_posA_0_WarningMin = (-0.074742-3.000000*0.002203-0.000001)
define alias:	diff0.dcaz_posA_0_WarningMax = (-0.074742+3.000000*0.002203+0.000001)
define alias:	diff0.dcaz_posA_0_PhysAccMin = (-0.074742-0.100000*-0.074742)
define alias:	diff0.dcaz_posA_0_PhysAccMax = (-0.074742+0.100000*-0.074742)
define alias:	diff0.dcaz_posA_0_RobustMean = (-0.074742+0)
define alias:	diff0.dcaz_posA_0_Outlier = (diff0.dcaz_posA_0>diff0.dcaz_posA_0_OutlierMax||diff0.dcaz_posA_0<diff0.dcaz_posA_0_OutlierMin)
define alias:	diff0.dcaz_posA_0_Warning = (diff0.dcaz_posA_0>diff0.dcaz_posA_0_WarningMax||diff0.dcaz_posA_0<diff0.dcaz_posA_0_WarningMin)
define alias:	diff0.dcaz_posA_0_PhysAcc = (diff0.dcaz_posA_0>diff0.dcaz_posA_0_PhysAccMin&&diff0.dcaz_posA_0<diff0.dcaz_posA_0_PhysAccMax)
define alias:	diff0.dcaz_posC_0_OutlierMin = (0.088196-6.000000*0.004031-0.000001)
define alias:	diff0.dcaz_posC_0_OutlierMax = (0.088196+6.000000*0.004031+0.000001)
define alias:	diff0.dcaz_posC_0_WarningMin = (0.088196-3.000000*0.004031-0.000001)
define alias:	diff0.dcaz_posC_0_WarningMax = (0.088196+3.000000*0.004031+0.000001)
define alias:	diff0.dcaz_posC_0_PhysAccMin = (0.088196-0.100000*0.088196)
define alias:	diff0.dcaz_posC_0_PhysAccMax = (0.088196+0.100000*0.088196)
define alias:	diff0.dcaz_posC_0_RobustMean = (0.088196+0)
define alias:	diff0.dcaz_posC_0_Outlier = (diff0.dcaz_posC_0>diff0.dcaz_posC_0_OutlierMax||diff0.dcaz_posC_0<diff0.dcaz_posC_0_OutlierMin)
define alias:	diff0.dcaz_posC_0_Warning = (diff0.dcaz_posC_0>diff0.dcaz_posC_0_WarningMax||diff0.dcaz_posC_0<diff0.dcaz_posC_0_WarningMin)
define alias:	diff0.dcaz_posC_0_PhysAcc = (diff0.dcaz_posC_0>diff0.dcaz_posC_0_PhysAccMin&&diff0.dcaz_posC_0<diff0.dcaz_posC_0_PhysAccMax)
define alias:	diff0.dcaz_negA_0_OutlierMin = (-0.049762-6.000000*0.009410-0.000001)
define alias:	diff0.dcaz_negA_0_OutlierMax = (-0.049762+6.000000*0.009410+0.000001)
define alias:	diff0.dcaz_negA_0_WarningMin = (-0.049762-3.000000*0.009410-0.000001)
define alias:	diff0.dcaz_negA_0_WarningMax = (-0.049762+3.000000*0.009410+0.000001)
define alias:	diff0.dcaz_negA_0_PhysAccMin = (-0.049762-0.100000*-0.049762)
define alias:	diff0.dcaz_negA_0_PhysAccMax = (-0.049762+0.100000*-0.049762)
define alias:	diff0.dcaz_negA_0_RobustMean = (-0.049762+0)
define alias:	diff0.dcaz_negA_0_Outlier = (diff0.dcaz_negA_0>diff0.dcaz_negA_0_OutlierMax||diff0.dcaz_negA_0<diff0.dcaz_negA_0_OutlierMin)
define alias:	diff0.dcaz_negA_0_Warning = (diff0.dcaz_negA_0>diff0.dcaz_negA_0_WarningMax||diff0.dcaz_negA_0<diff0.dcaz_negA_0_WarningMin)
define alias:	diff0.dcaz_negA_0_PhysAcc = (diff0.dcaz_negA_0>diff0.dcaz_negA_0_PhysAccMin&&diff0.dcaz_negA_0<diff0.dcaz_negA_0_PhysAccMax)
define alias:	diff0.dcaz_negC_0_OutlierMin = (0.063294-6.000000*0.003066-0.000001)
define alias:	diff0.dcaz_negC_0_OutlierMax = (0.063294+6.000000*0.003066+0.000001)
define alias:	diff0.dcaz_negC_0_WarningMin = (0.063294-3.000000*0.003066-0.000001)
define alias:	diff0.dcaz_negC_0_WarningMax = (0.063294+3.000000*0.003066+0.000001)
define alias:	diff0.dcaz_negC_0_PhysAccMin = (0.063294-0.100000*0.063294)
define alias:	diff0.dcaz_negC_0_PhysAccMax = (0.063294+0.100000*0.063294)
define alias:	diff0.dcaz_negC_0_RobustMean = (0.063294+0)
define alias:	diff0.dcaz_negC_0_Outlier = (diff0.dcaz_negC_0>diff0.dcaz_negC_0_OutlierMax||diff0.dcaz_negC_0<diff0.dcaz_negC_0_OutlierMin)
define alias:	diff0.dcaz_negC_0_Warning = (diff0.dcaz_negC_0>diff0.dcaz_negC_0_WarningMax||diff0.dcaz_negC_0<diff0.dcaz_negC_0_WarningMin)
define alias:	diff0.dcaz_negC_0_PhysAcc = (diff0.dcaz_negC_0>diff0.dcaz_negC_0_PhysAccMin&&diff0.dcaz_negC_0<diff0.dcaz_negC_0_PhysAccMax)
define alias:	ratio.meanMIP_OutlierMin = (0.911210-6.000000*0.004487-0.000001)
define alias:	ratio.meanMIP_OutlierMax = (0.911210+6.000000*0.004487+0.000001)
define alias:	ratio.meanMIP_WarningMin = (0.911210-3.000000*0.004487-0.000001)
define alias:	ratio.meanMIP_WarningMax = (0.911210+3.000000*0.004487+0.000001)
define alias:	ratio.meanMIP_PhysAccMin = (0.911210-0.100000*0.911210)
define alias:	ratio.meanMIP_PhysAccMax = (0.911210+0.100000*0.911210)
define alias:	ratio.meanMIP_RobustMean = (0.911210+0)
define alias:	ratio.meanMIP_Outlier = (ratio.meanMIP>ratio.meanMIP_OutlierMax||ratio.meanMIP<ratio.meanMIP_OutlierMin)
define alias:	ratio.meanMIP_Warning = (ratio.meanMIP>ratio.meanMIP_WarningMax||ratio.meanMIP<ratio.meanMIP_WarningMin)
define alias:	ratio.meanMIP_PhysAcc = (ratio.meanMIP>ratio.meanMIP_PhysAccMin&&ratio.meanMIP<ratio.meanMIP_PhysAccMax)
define alias:	ratio.resolutionMIP_OutlierMin = (1.177237-6.000000*0.008225-0.000001)
define alias:	ratio.resolutionMIP_OutlierMax = (1.177237+6.000000*0.008225+0.000001)
define alias:	ratio.resolutionMIP_WarningMin = (1.177237-3.000000*0.008225-0.000001)
define alias:	ratio.resolutionMIP_WarningMax = (1.177237+3.000000*0.008225+0.000001)
define alias:	ratio.resolutionMIP_PhysAccMin = (1.177237-0.100000*1.177237)
define alias:	ratio.resolutionMIP_PhysAccMax = (1.177237+0.100000*1.177237)
define alias:	ratio.resolutionMIP_RobustMean = (1.177237+0)
define alias:	ratio.resolutionMIP_Outlier = (ratio.resolutionMIP>ratio.resolutionMIP_OutlierMax||ratio.resolutionMIP<ratio.resolutionMIP_OutlierMin)
define alias:	ratio.resolutionMIP_Warning = (ratio.resolutionMIP>ratio.resolutionMIP_WarningMax||ratio.resolutionMIP<ratio.resolutionMIP_WarningMin)
define alias:	ratio.resolutionMIP_PhysAcc = (ratio.resolutionMIP>ratio.resolutionMIP_PhysAccMin&&ratio.resolutionMIP<ratio.resolutionMIP_PhysAccMax)
define alias:	diff0.MIPattachSlopeA_OutlierMin = (0.007635-6.000000*0.251787-0.000001)
define alias:	diff0.MIPattachSlopeA_OutlierMax = (0.007635+6.000000*0.251787+0.000001)
define alias:	diff0.MIPattachSlopeA_WarningMin = (0.007635-3.000000*0.251787-0.000001)
define alias:	diff0.MIPattachSlopeA_WarningMax = (0.007635+3.000000*0.251787+0.000001)
define alias:	diff0.MIPattachSlopeA_PhysAccMin = (0.007635-0.100000*0.007635)
define alias:	diff0.MIPattachSlopeA_PhysAccMax = (0.007635+0.100000*0.007635)
define alias:	diff0.MIPattachSlopeA_RobustMean = (0.007635+0)
define alias:	diff0.MIPattachSlopeA_Outlier = (diff0.MIPattachSlopeA>diff0.MIPattachSlopeA_OutlierMax||diff0.MIPattachSlopeA<diff0.MIPattachSlopeA_OutlierMin)
define alias:	diff0.MIPattachSlopeA_Warning = (diff0.MIPattachSlopeA>diff0.MIPattachSlopeA_WarningMax||diff0.MIPattachSlopeA<diff0.MIPattachSlopeA_WarningMin)
define alias:	diff0.MIPattachSlopeA_PhysAcc = (diff0.MIPattachSlopeA>diff0.MIPattachSlopeA_PhysAccMin&&diff0.MIPattachSlopeA<diff0.MIPattachSlopeA_PhysAccMax)
define alias:	diff0.MIPattachSlopeC_OutlierMin = (0.301794-6.000000*0.399301-0.000001)
define alias:	diff0.MIPattachSlopeC_OutlierMax = (0.301794+6.000000*0.399301+0.000001)
define alias:	diff0.MIPattachSlopeC_WarningMin = (0.301794-3.000000*0.399301-0.000001)
define alias:	diff0.MIPattachSlopeC_WarningMax = (0.301794+3.000000*0.399301+0.000001)
define alias:	diff0.MIPattachSlopeC_PhysAccMin = (0.301794-0.100000*0.301794)
define alias:	diff0.MIPattachSlopeC_PhysAccMax = (0.301794+0.100000*0.301794)
define alias:	diff0.MIPattachSlopeC_RobustMean = (0.301794+0)
define alias:	diff0.MIPattachSlopeC_Outlier = (diff0.MIPattachSlopeC>diff0.MIPattachSlopeC_OutlierMax||diff0.MIPattachSlopeC<diff0.MIPattachSlopeC_OutlierMin)
define alias:	diff0.MIPattachSlopeC_Warning = (diff0.MIPattachSlopeC>diff0.MIPattachSlopeC_WarningMax||diff0.MIPattachSlopeC<diff0.MIPattachSlopeC_WarningMin)
define alias:	diff0.MIPattachSlopeC_PhysAcc = (diff0.MIPattachSlopeC>diff0.MIPattachSlopeC_PhysAccMin&&diff0.MIPattachSlopeC<diff0.MIPattachSlopeC_PhysAccMax)
define alias:	diff0.meanMIPele_OutlierMin = (-2.586062-6.000000*0.442215-0.000001)
define alias:	diff0.meanMIPele_OutlierMax = (-2.586062+6.000000*0.442215+0.000001)
define alias:	diff0.meanMIPele_WarningMin = (-2.586062-3.000000*0.442215-0.000001)
define alias:	diff0.meanMIPele_WarningMax = (-2.586062+3.000000*0.442215+0.000001)
define alias:	diff0.meanMIPele_PhysAccMin = (-2.586062-0.100000*-2.586062)
define alias:	diff0.meanMIPele_PhysAccMax = (-2.586062+0.100000*-2.586062)
define alias:	diff0.meanMIPele_RobustMean = (-2.586062+0)
define alias:	diff0.meanMIPele_Outlier = (diff0.meanMIPele>diff0.meanMIPele_OutlierMax||diff0.meanMIPele<diff0.meanMIPele_OutlierMin)
define alias:	diff0.meanMIPele_Warning = (diff0.meanMIPele>diff0.meanMIPele_WarningMax||diff0.meanMIPele<diff0.meanMIPele_WarningMin)
define alias:	diff0.meanMIPele_PhysAcc = (diff0.meanMIPele>diff0.meanMIPele_PhysAccMin&&diff0.meanMIPele<diff0.meanMIPele_PhysAccMax)
define alias:	diff0.resolutionMIPele_OutlierMin = (0.012983-6.000000*0.000301-0.000001)
define alias:	diff0.resolutionMIPele_OutlierMax = (0.012983+6.000000*0.000301+0.000001)
define alias:	diff0.resolutionMIPele_WarningMin = (0.012983-3.000000*0.000301-0.000001)
define alias:	diff0.resolutionMIPele_WarningMax = (0.012983+3.000000*0.000301+0.000001)
define alias:	diff0.resolutionMIPele_PhysAccMin = (0.012983-0.100000*0.012983)
define alias:	diff0.resolutionMIPele_PhysAccMax = (0.012983+0.100000*0.012983)
define alias:	diff0.resolutionMIPele_RobustMean = (0.012983+0)
define alias:	diff0.resolutionMIPele_Outlier = (diff0.resolutionMIPele>diff0.resolutionMIPele_OutlierMax||diff0.resolutionMIPele<diff0.resolutionMIPele_OutlierMin)
define alias:	diff0.resolutionMIPele_Warning = (diff0.resolutionMIPele>diff0.resolutionMIPele_WarningMax||diff0.resolutionMIPele<diff0.resolutionMIPele_WarningMin)
define alias:	diff0.resolutionMIPele_PhysAcc = (diff0.resolutionMIPele>diff0.resolutionMIPele_PhysAccMin&&diff0.resolutionMIPele<diff0.resolutionMIPele_PhysAccMax)
Info in <InitTPCMCValidation>: Done with aliases
number of graph entries: 11
sStatusBarVars = mcAnchor.ncl;mcAnchor.dcarResol;mcAnchor.dcazResol;mcAnchor.itsEffStatus;mcAnchor.dEdx
sCriteria      = (present):(statisticOK):(varname_Warning):(varname_Outlier):(varname_PhysAcc)
Info in <TCanvas::Print>: pdf file .//report.pdf has been created

2.1. Print a list of friend trees used in QA

  • MC tree with QA.TPC, QA.TRD, QA.ITS friend trees
  • Anchor treee QA.TPC, QA.TRD, QA.ITS, Logbook, QA.EVS, Logbook.detector_TPC

In [5]:
treeMC->GetListOfFriends()->ls();
treeMC->GetFriend("TPC.Anchor")->GetListOfFriends()->ls();


OBJ: TList	TList	Doubly linked list : 0
 Friend Tree: Tstatus in file: 
 Friend Tree: QA.TPC in file: /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/sim/2015/LHC15k1a1/passMC/TPC_trending.root
 Friend Tree: QA.TRD in file: /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/sim/2015/LHC15k1a1/passMC/TRD_trending.root
 Friend Tree: QA.ITS in file: /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/sim/2015/LHC15k1a1/passMC/ITS_trending.root
 Friend Tree: TPC.Anchor in file: /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/pass3_lowIR_pidfix/TPC_trending.root
 Friend Tree: TRD.Anchor in file: /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/pass3_lowIR_pidfix/TRD_trending.root
 Friend Tree: ITS.Anchor in file: /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/pass3_lowIR_pidfix/ITS_trending.root
OBJ: TList	TList	Doubly linked list : 0
 Friend Tree: Tstatus in file: 
 Friend Tree: Logbook in file: /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/logbook.root
 Friend Tree: QA.EVS in file: /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/pass3_lowIR_pidfix/EVS_trending.root
 Friend Tree: Logbook.detector_TPC in file: /afs/cern.ch/work/m/mivanov/AliExternalInfoCache/data/2015/LHC15o/logbook_detector.root

2.2 Print list of warning aliases for resolution


In [6]:
treeMC->GetListOfAliases()->Print("","*resol*Warning");


Collection name='TList', class='TList', size=1194
 OBJ: TNamed	resolutionMIP_Warning	(resolutionMIP>resolutionMIP_WarningMax||resolutionMIP<resolutionMIP_WarningMin)
 OBJ: TNamed	resolutionMIPele_Warning	(resolutionMIPele>resolutionMIPele_WarningMax||resolutionMIPele<resolutionMIPele_WarningMin)
 OBJ: TNamed	absDiff.QA.TPC.resolutionMIP_Warning	abs(QA.TPC.resolutionMIP-TPC.Anchor.resolutionMIP)>0.02
 OBJ: TNamed	absDiff.QA.TPC.resolutionMIPele_Warning	abs(QA.TPC.resolutionMIPele-TPC.Anchor.resolutionMIPele)>0.02
 OBJ: TNamed	ratio.resolutionMIP_Warning	(ratio.resolutionMIP>ratio.resolutionMIP_WarningMax||ratio.resolutionMIP<ratio.resolutionMIP_WarningMin)
 OBJ: TNamed	diff0.resolutionMIPele_Warning	(diff0.resolutionMIPele>diff0.resolutionMIPele_WarningMax||diff0.resolutionMIPele<diff0.resolutionMIPele_WarningMin)

2.3. Example- Redefine some alarms

  • internally tree->SetAlias used

In [7]:
treeMC->SetAlias("ratio.meanMIP_PhysAcc","abs(ratio.meanMIP-ratio.meanMIP_RobustMean)<0.5");                        // phys. acceptable +-0.5
  treeMC->SetAlias("ratio.resolutionMIP_PhysAcc","abs(ratio.resolutionMIP-ratio.resolutionMIP_RobustMean)<0.5");            // phys. acceptable +-0.5

3. Display dcar status bar

  • decompose the DCA status bar to subcompontnets
    • expecting <and, or> decomposition

In [8]:
MakeStatusPlot("./", "dcarStatusMC.png", "dcar_Warning", "1");
trendingDraw->fWorkingCanvas->Draw();


1	dcar	(dcar0_Warning||dcar1_Warning||dcar2_Warning)
2	dcar0	(dcar_posA_0_Warning||dcar_posC_0_Warning||dcar_negA_0_Warning||dcar_negC_0_Warning)
3	dcar_posA_0	(dcar_posA_0>dcar_posA_0_WarningMax||dcar_posA_0<dcar_posA_0_WarningMin)
4	dcar_posC_0	(dcar_posC_0>dcar_posC_0_WarningMax||dcar_posC_0<dcar_posC_0_WarningMin)
5	dcar_negA_0	(dcar_negA_0>dcar_negA_0_WarningMax||dcar_negA_0<dcar_negA_0_WarningMin)
6	dcar_negC_0	(dcar_negC_0>dcar_negC_0_WarningMax||dcar_negC_0<dcar_negC_0_WarningMin)
7	dcar1	(dcar_posA_1_Warning||dcar_posC_1_Warning||dcar_negA_1_Warning||dcar_negC_1_Warning)
8	dcar_posA_1	(dcar_posA_1>dcar_posA_1_WarningMax||dcar_posA_1<dcar_posA_1_WarningMin)
9	dcar_posC_1	(dcar_posC_1>dcar_posC_1_WarningMax||dcar_posC_1<dcar_posC_1_WarningMin)
10	dcar_negA_1	(dcar_negA_1>dcar_negA_1_WarningMax||dcar_negA_1<dcar_negA_1_WarningMin)
11	dcar_negC_1	(dcar_negC_1>dcar_negC_1_WarningMax||dcar_negC_1<dcar_negC_1_WarningMin)
12	dcar2	(dcar_posA_2_Warning||dcar_posC_2_Warning||dcar_negA_2_Warning||dcar_negC_2_Warning)
13	dcar_posA_2	(dcar_posA_2>dcar_posA_2_WarningMax||dcar_posA_2<dcar_posA_2_WarningMin)
14	dcar_posC_2	(dcar_posC_2>dcar_posC_2_WarningMax||dcar_posC_2<dcar_posC_2_WarningMin)
15	dcar_negA_2	(dcar_negA_2>dcar_negA_2_WarningMax||dcar_negA_2<dcar_negA_2_WarningMin)
16	dcar_negC_2	(dcar_negC_2>dcar_negC_2_WarningMax||dcar_negC_2<dcar_negC_2_WarningMin)
Info in <TCanvas::Print>: png file .//dcarStatusMC.png has been created
Info in <TCanvas::Print>: Current canvas added to pdf file .//report.pdf

4. display dcaz status bar

  • decompose the DCA status bar to subcompontnets
  • expecting <and, or> decomposition

In [9]:
MakeStatusPlot("./", "dcazStatusMC.png", "dcaz_Warning", "1");
trendingDraw->fWorkingCanvas->Draw();


1	dcaz	(dcaz0_Warning||dcaz1_Warning||dcaz2_Warning)
2	dcaz0	(dcaz_posA_0_Warning||dcaz_posC_0_Warning||dcaz_negA_0_Warning||dcaz_negC_0_Warning)
3	dcaz_posA_0	(dcaz_posA_0>dcaz_posA_0_WarningMax||dcaz_posA_0<dcaz_posA_0_WarningMin)
4	dcaz_posC_0	(dcaz_posC_0>dcaz_posC_0_WarningMax||dcaz_posC_0<dcaz_posC_0_WarningMin)
5	dcaz_negA_0	(dcaz_negA_0>dcaz_negA_0_WarningMax||dcaz_negA_0<dcaz_negA_0_WarningMin)
6	dcaz_negC_0	(dcaz_negC_0>dcaz_negC_0_WarningMax||dcaz_negC_0<dcaz_negC_0_WarningMin)
7	dcaz1	(dcaz_posA_1_Warning||dcaz_posC_1_Warning||dcaz_negA_1_Warning||dcaz_negC_1_Warning)
8	dcaz_posA_1	(dcaz_posA_1>dcaz_posA_1_WarningMax||dcaz_posA_1<dcaz_posA_1_WarningMin)
9	dcaz_posC_1	(dcaz_posC_1>dcaz_posC_1_WarningMax||dcaz_posC_1<dcaz_posC_1_WarningMin)
10	dcaz_negA_1	(dcaz_negA_1>dcaz_negA_1_WarningMax||dcaz_negA_1<dcaz_negA_1_WarningMin)
11	dcaz_negC_1	(dcaz_negC_1>dcaz_negC_1_WarningMax||dcaz_negC_1<dcaz_negC_1_WarningMin)
12	dcaz2	(dcaz_posA_2_Warning||dcaz_posC_2_Warning||dcaz_negA_2_Warning||dcaz_negC_2_Warning)
13	dcaz_posA_2	(dcaz_posA_2>dcaz_posA_2_WarningMax||dcaz_posA_2<dcaz_posA_2_WarningMin)
14	dcaz_posC_2	(dcaz_posC_2>dcaz_posC_2_WarningMax||dcaz_posC_2<dcaz_posC_2_WarningMin)
15	dcaz_negA_2	(dcaz_negA_2>dcaz_negA_2_WarningMax||dcaz_negA_2<dcaz_negA_2_WarningMin)
16	dcaz_negC_2	(dcaz_negC_2>dcaz_negC_2_WarningMax||dcaz_negC_2<dcaz_negC_2_WarningMin)
Info in <TCanvas::Print>: png file .//dcazStatusMC.png has been created
Info in <TCanvas::Print>: Current canvas added to pdf file .//report.pdf

Make example plot using AliTreeTrending::MakePlot

  • Appropriate styling (CSS) to be used

In [10]:
trendingDraw->MakePlot(outputDir, "interactionRate.png", "Interaction rate", cRange, "",
                         "Logbook.averageEventsPerSecond;QA.EVS.interactionRate:run", "defaultCut", "figTemplateTRD",
                         "figTemplateTRD", 1, 1, 4, kTRUE);
trendingDraw->fWorkingCanvas->Draw();


Info in <TCanvas::Print>: png file .//interactionRate.png has been created
Info in <TCanvas::Print>: Current canvas added to pdf file .//report.pdf

In [11]:
trendingDraw->MakePlot(outputDir, "matchingTPC-ITSEff.png", "Matching efficiency:MC/Anchor", cRange, "",
                         "QA.TPC.tpcItsMatchA;QA.TPC.tpcItsMatchC;QA.ITS.EffTOTPt02;QA.ITS.EffTOTPt1;QA.ITS.EffTOTPt10;TPC.Anchor.tpcItsMatchA;TPC.Anchor.tpcItsMatchC;ITS.Anchor.EffTOTPt02;ITS.Anchor.EffTOTPt1;ITS.Anchor.EffTOTPt10:run",
                         "defaultCut", "figTemplateTRDPair", "figTemplateTRDPair", 1, 1.0, 6, kTRUE);
trendingDraw->fWorkingCanvas->Draw();


Info in <TCanvas::Print>: png file .//matchingTPC-ITSEff.png has been created
Info in <TCanvas::Print>: Current canvas added to pdf file .//report.pdf

In [12]:
trendingDraw->MakePlot(outputDir, "dcar_A_0.png", "dcar_A_0", cRange, "",
                         "dcar_posA_0;TPC.Anchor.dcar_posA_0;dcar_negA_0;TPC.Anchor.dcar_negA_0:run", "defaultCut",
                         "figTemplateTRDPair", "figTemplateTRDPair", 1, 1.0, 6, kTRUE);
trendingDraw->fWorkingCanvas->Draw();


Info in <TCanvas::Print>: png file .//dcar_A_0.png has been created
Info in <TCanvas::Print>: Current canvas added to pdf file .//report.pdf

Root trees could be v


In [14]:
canvasDraw->cd();
treeMC->Draw("TPC.Anchor.dcar_posA_0:bz","","colz");
canvasDraw->Draw();



In [ ]: