@tableofcontents
With the python3 <scriptname> -h command you will see a help message for all commands valid for the CLI. CLI has same formatted messages in O2-DPL. It is recommended to use this command at least once before using the interface. If you do not remember the parameters related to the interface, you can list all valid parameters and the values that these parameters can take with this command. In addition, helper messages are integrated into helper messages for all values that are valid for each very important parameter. For example, if you want to get a help message with the python3 runTableMaker.py -h command:
P.S The default values you see in the helper messages are the default values for the interface. The values you see None will directly take the default values from JSON
usage: runTableMaker.py [-h] [-runData] [-runMC] [--run {2,3}]
[--add_mc_conv] [--add_fdd_conv] [--add_track_prop]
[--aod AOD] [--onlySelect ONLYSELECT]
[--autoDummy {true,false}]
[--cfgEventCuts [CFGEVENTCUTS [CFGEVENTCUTS ...]]]
[--cfgBarrelTrackCuts [CFGBARRELTRACKCUTS [CFGBARRELTRACKCUTS ...]]]
[--cfgMuonCuts [CFGMUONCUTS [CFGMUONCUTS ...]]]
[--cfgBarrelLowPt CFGBARRELLOWPT]
[--cfgMuonLowPt CFGMUONLOWPT] [--cfgNoQA CFGNOQA]
[--cfgDetailedQA {true,false}]
[--cfgMinTpcSignal CFGMINTPCSIGNAL]
[--cfgMaxTpcSignal CFGMAXTPCSIGNAL]
[--cfgMCsignals [CFGMCSIGNALS [CFGMCSIGNALS ...]]]
[--process [PROCESS [PROCESS ...]]]
[--syst {PbPb,pp,pPb,Pbp,XeXe}]
[--muonSelection {0,1,2}]
[--customDeltaBC CUSTOMDELTABC]
[--isCovariance {true,false}]
[--tof-expreso TOF_EXPRESO]
[--isProcessEvTime {true,false}]
[--isBarrelSelectionTiny {true,false}]
[--cfgMuonsCuts [CFGMUONSCUT [CFGMUONSCUT ...]]]
[--cfgPairCuts [CFGPAIRCUTS [CFGPAIRCUTS ...]]]
[--cfgBarrelSels [CFGBARRELSELS [CFGBARRELSELS ...]]]
[--cfgMuonSels [CFGMUONSELS [CFGMUONSELS ...]]]
[--isFilterPPTiny {true,false}]
[--est [EST [EST ...]]] [--cfgWithQA {true,false}]
[--d_bz D_BZ] [--v0cospa V0COSPA]
[--dcav0dau DCAV0DAU] [--v0Rmin V0RMIN]
[--v0Rmax V0RMAX] [--dcamin DCAMIN] [--dcamax DCAMAX]
[--mincrossedrows MINCROSSEDROWS]
[--maxchi2tpc MAXCHI2TPC] [--pid [PID [PID ...]]]
[--cutLister] [--MCSignalsLister] [--debug DEBUG]
[--logFile]
Config.json
Arguments to pass
optional arguments:
-h, --help show this help message and exit
Core configurations that must be configured:
Config.json config JSON file name
-runData Run over data (default: False)
-runMC Run over MC (default: False)
--run {2,3} Run Number Selection (2 or 3) (default: None)
Additional Task Adding Options:
--add_mc_conv Add the converter from mcparticle to mcparticle+001
(Adds your workflow o2-analysis-mc-converter task)
(default: False)
--add_fdd_conv Add the fdd converter (Adds your workflow o2-analysis-
fdd-converter task) (default: False)
--add_track_prop Add track propagation to the innermost layer (TPC or
ITS) (Adds your workflow o2-analysis-track-propagation
task) (default: False)
Data processor options: internal-dpl-aod-reader:
--aod AOD Add your AOD File with path (default: None)
Automation Parameters:
--onlySelect ONLYSELECT
An Automate parameter for keep options for only
selection in process, pid and centrality table (true
is highly recomended for automation) (default: true)
--autoDummy {true,false}
Dummy automize parameter (don't configure it, true is
highly recomended for automation) (default: true)
Data processor options: table-maker:
--cfgEventCuts [CFGEVENTCUTS [CFGEVENTCUTS ...]]
Space separated list of event cuts (default: None)
--cfgBarrelTrackCuts [CFGBARRELTRACKCUTS [CFGBARRELTRACKCUTS ...]]
Space separated list of barrel track cuts (default:
None)
--cfgMuonCuts [CFGMUONCUTS [CFGMUONCUTS ...]]
Space separated list of muon cuts in table-maker
(default: None)
--cfgBarrelLowPt CFGBARRELLOWPT
Low pt cut for tracks in the barrel (default: None)
--cfgMuonLowPt CFGMUONLOWPT
Low pt cut for muons (default: None)
--cfgNoQA CFGNOQA If true, no QA histograms (default: None)
--cfgDetailedQA {true,false}
If true, include more QA histograms (BeforeCuts
classes and more) (default: None)
--cfgMinTpcSignal CFGMINTPCSIGNAL
Minimum TPC signal (default: None)
--cfgMaxTpcSignal CFGMAXTPCSIGNAL
Maximum TPC signal (default: None)
--cfgMCsignals [CFGMCSIGNALS [CFGMCSIGNALS ...]]
Space separated list of MC signals (default: None)
Data processor options: table-maker/table-maker-m-c:
--process [PROCESS [PROCESS ...]]
Process Selection options for tableMaker/tableMakerMC
Data Processing and Skimming (default: None)
Full Build full DQ skimmed data model, w/o centrality
FullTiny Build full DQ skimmed data model tiny
FullWithCov Build full DQ skimmed data model, w/ track and
fwdtrack covariance tables
FullWithCent Build full DQ skimmed data model, w/ centrality
BarrelOnly Build barrel-only DQ skimmed data model, w/o
centrality
BarrelOnlyWithCov Build barrel-only DQ skimmed data model, w/ track cov
matrix
BarrelOnlyWithV0Bits Build full DQ skimmed data model, w/o centrality, w/
V0Bits
BarrelOnlyWithEventFilter
Build full DQ skimmed data model, w/o centrality, w/
event filter
BarrelOnlyWithCent Build barrel-only DQ skimmed data model, w/ centrality
MuonOnly Build muon-only DQ skimmed data model
MuonOnlyWithCov Build muon-only DQ skimmed data model, w/ muon cov
matrix
MuonOnlyWithCent Build muon-only DQ skimmed data model, w/ centrality
MuonOnlyWithFilter Build muon-only DQ skimmed data model, w/ event filter
OnlyBCs Analyze the BCs to store sampled lumi
Data processor options: event-selection-task:
--syst {PbPb,pp,pPb,Pbp,XeXe}
Collision System Selection ex. pp (default: None)
--muonSelection {0,1,2}
0 - barrel, 1 - muon selection with pileup cuts, 2 -
muon selection without pileup cuts (default: None)
--customDeltaBC CUSTOMDELTABC
custom BC delta for FIT-collision matching (default:
None)
Data processor options: track-propagation:
--isCovariance {true,false}
track-propagation : If false, Process without
covariance, If true Process with covariance (default:
None)
Data processor options: tof-pid-beta:
--tof-expreso TOF_EXPRESO
Expected resolution for the computation of the
expected beta (default: None)
--isProcessEvTime {true,false}
tof-pid -> processEvTime : Process Selection options
true or false (string) (default: None)
Data processor options: d-q-track barrel-task:
--isBarrelSelectionTiny {true,false}
Run barrel track selection instead of normal(process
func. for barrel selection must be true) (default:
false)
Data processor options: d-q muons selection:
--cfgMuonsCuts [CFGMUONSCUT [CFGMUONSCUT ...]]
Space separated list of muon cuts in d-q muons
selection (default: None)
Data processor options: d-q-filter-p-p-task:
--cfgPairCuts [CFGPAIRCUTS [CFGPAIRCUTS ...]]
Space separated list of pair cuts (default: None)
--cfgBarrelSels [CFGBARRELSELS [CFGBARRELSELS ...]]
Configure Barrel Selection <track-cut>:[<pair-
cut>]:<n>,[<track-cut>:[<pair-cut>]:<n>],... | example
jpsiO2MCdebugCuts2::1 (default: None)
--cfgMuonSels [CFGMUONSELS [CFGMUONSELS ...]]
Configure Muon Selection <muon-cut>:[<pair-cut>]:<n>
example muonQualityCuts:pairNoCut:1 (default: None)
--isFilterPPTiny {true,false}
Run filter tiny task instead of normal
(processFilterPP must be true) (default: None)
Data processor options: centrality-table:
--est [EST [EST ...]]
Produces centrality percentiles parameters (default:
None)
V0M Produces centrality percentiles using V0 multiplicity.
-1: auto, 0: don't, 1: yes. Default: auto (-1)
Run2SPDtks Produces Run2 centrality percentiles using SPD
tracklets multiplicity. -1: auto, 0: don't, 1: yes.
Default: auto (-1)
Run2SPDcls Produces Run2 centrality percentiles using SPD
clusters multiplicity. -1: auto, 0: don't, 1: yes.
Default: auto (-1)
Run2CL0 Produces Run2 centrality percentiles using CL0
multiplicity. -1: auto, 0: don't, 1: yes. Default:
auto (-1)
Run2CL1 Produces Run2 centrality percentiles using CL1
multiplicity. -1: auto, 0: don't, 1: yes. Default:
auto (-1)
Data processor options: d-q-barrel-track-selection-task, d-q-muons-selection, d-q-event-selection-task, d-q-filter-p-p-task:
--cfgWithQA {true,false}
If true, fill QA histograms (default: None)
Data processor options: v0-selector:
--d_bz D_BZ bz field (default: None)
--v0cospa V0COSPA v0cospa (default: None)
--dcav0dau DCAV0DAU DCA V0 Daughters (default: None)
--v0Rmin V0RMIN v0Rmin (default: None)
--v0Rmax V0RMAX v0Rmax (default: None)
--dcamin DCAMIN dcamin (default: None)
--dcamax DCAMAX dcamax (default: None)
--mincrossedrows MINCROSSEDROWS
Min crossed rows (default: None)
--maxchi2tpc MAXCHI2TPC
max chi2/NclsTPC (default: None)
Data processor options: tof-pid, tpc-pid, tpc-pid-full:
--pid [PID [PID ...]]
Produce PID information for the <particle> mass
hypothesis (default: None)
el Produce PID information for the Electron mass
hypothesis, overrides the automatic setup: the
corresponding table can be set off (0) or on (1)
mu Produce PID information for the Muon mass hypothesis,
overrides the automatic setup: the corresponding table
can be set off (0) or on (1)
pi Produce PID information for the Pion mass hypothesis,
overrides the automatic setup: the corresponding table
can be set off (0) or on (1)
ka Produce PID information for the Kaon mass hypothesis,
overrides the automatic setup: the corresponding table
can be set off (0) or on (1)
pr Produce PID information for the Proton mass
hypothesis, overrides the automatic setup: the
corresponding table can be set off (0) or on (1)
de Produce PID information for the Deuterons mass
hypothesis, overrides the automatic setup: the
corresponding table can be set off (0) or on (1)
tr Produce PID information for the Triton mass
hypothesis, overrides the automatic setup: the
corresponding table can be set off (0) or on (1)
he Produce PID information for the Helium3 mass
hypothesis, overrides the automatic setup: the
corresponding table can be set off (0) or on (1)
al Produce PID information for the Alpha mass hypothesis,
overrides the automatic setup: the corresponding table
can be set off (0) or on (1)
Additional Helper Command Options:
--cutLister List all of the analysis cuts from CutsLibrary.h
(default: False)
--MCSignalsLister List all of the MCSignals from MCSignalLibrary.h
(default: False)
--debug DEBUG execute with debug options (default: INFO)
--logFile Enable logger for both file and CLI (default: False)
Choice List for debug Parameters:
NOTSET Set Debug Level to NOTSET
DEBUG Set Debug Level to DEBUG
INFO Set Debug Level to INFO
WARNING Set Debug Level to WARNING
ERROR Set Debug Level to ERROR
CRITICAL Set Debug Level to CRITICALYou will receive a message that. also the command can likewise be added after configuring other parameters. For example:
python3 runTableMakerMC.py configs/configTableMakerMCRun3.json -runMC --run 3 --process MuonOnlyWithCov OnlyBCs --cfgMCsignals muFromJpsi Jpsi muFromPsi2S Psi2S --aod Datas/AO2D -hYou will see helper messages again. As long as this command is added in the parameters, the script will not run and will only show a help message.
We have Debug options if you want to follow the flow in the Interface. For this, you can configure your script as --debug <Level> in the terminal. You can check which levels are valid and at which level to debug from the table. Also if you want to keep your LOG log in a file then the --logFile parameter should be added to the workflow.
The LOG file will be created the same as the workflow name. For example, the file that will be created for tableMaker will be tableMaker.log. In addition, if you work with the debug option, the old LOG file will be automatically deleted first, so that there is no confusion in the log files and it does not override. Then a new LOG file will be created.
- You can See Debug Levels in the table:
| Level | Numeric Value |
|---|---|
NOTSET |
0 |
DEBUG |
10 |
INFO |
20 |
WARNING |
30 |
ERROR |
40 |
CRITICAL |
50 |
You can see the debug messages of the numeric value you selected and the level above. If you want debug with --debug parameter, you must select the Level you want to debug.
Example usage Logging for Both File and terminal:
python3 runTableMakerMC.py configs/configTableMakerMCRun3.json -runMC --run 3 --debug DEBUG --logFile --process MuonOnlyWithCov OnlyBCs --cfgMCsignals muFromJpsi Jpsi muFromPsi2S Psi2S --aod Datas/AO2D.root --cfgMuonCuts muonQualityCuts muonTightQualityCutsForTests --syst pp --add_track_propExample usage for only logging to terminal:
python3 runTableMakerMC.py configs/configTableMakerMCRun3.json -runMC --run 3 --debug DEBUG --process MuonOnlyWithCov OnlyBCs --cfgMCsignals muFromJpsi Jpsi muFromPsi2S Psi2S --aod Datas/AO2D.root --cfgMuonCuts muonQualityCuts muonTightQualityCutsForTests --syst pp --add_track_propFor example, when the file is logged, you should see a result like this when you open the relevant file.
2022-08-17 17:15:06,628 - [DEBUG] - [internal-dpl-aod-reader] aod-file : reducedAod.root
2022-08-17 17:15:06,628 - [DEBUG] - [internal-dpl-aod-reader] aod-reader-json : configs/readerConfiguration_reducedEventMC.json
2022-08-17 17:15:06,628 - [DEBUG] - [analysis-event-selection] processSkimmed : true
2022-08-17 17:15:06,628 - [DEBUG] - [analysis-track-selection] processSkimmed : false
2022-08-17 17:15:06,628 - [DEBUG] - [analysis-muon-selection] cfgMuonCuts : muonQualityCuts,muonTightQualityCutsForTests
2022-08-17 17:15:06,629 - [DEBUG] - [analysis-muon-selection] cfgMuonMCSignals : muFromJpsi,muFromPsi2S
2022-08-17 17:15:06,629 - [DEBUG] - [analysis-muon-selection] processSkimmed : true
2022-08-17 17:15:06,629 - [DEBUG] - [analysis-same-event-pairing] cfgMuonCuts : muonQualityCuts,muonTightQualityCutsForTests
2022-08-17 17:15:06,629 - [DEBUG] - [analysis-same-event-pairing] cfgBarrelMCRecSignals : mumuFromJpsi,mumuFromPsi2S,dimuon
2022-08-17 17:15:06,629 - [DEBUG] - [analysis-same-event-pairing] cfgBarrelMCGenSignals : Jpsi,Psi2S
2022-08-17 17:15:06,629 - [DEBUG] - [analysis-same-event-pairing] processJpsiToEESkimmed : false
2022-08-17 17:15:06,629 - [DEBUG] - [analysis-same-event-pairing] processJpsiToMuMuSkimmed : true
2022-08-17 17:15:06,630 - [DEBUG] - [analysis-same-event-pairing] processJpsiToMuMuVertexingSkimmed : false
2022-08-17 17:15:06,630 - [DEBUG] - [analysis-dilepton-track] processDimuonMuonSkimmed : false
2022-08-17 17:15:06,630 - [INFO] Command to run:
2022-08-17 17:15:06,630 - [INFO] o2-analysis-dq-efficiency --configuration json://tempConfigDQEfficiency.json -b --aod-writer-json configs/writerConfiguration_dileptonMC.json
2022-08-17 17:15:06,630 - [INFO] Args provided configurations List
2022-08-17 17:15:06,631 - [INFO] --cfgFileName : configs/configAnalysisMC.json
2022-08-17 17:15:06,631 - [INFO] --add_mc_conv : False
2022-08-17 17:15:06,631 - [INFO] --add_fdd_conv : False
2022-08-17 17:15:06,631 - [INFO] --add_track_prop : False
2022-08-17 17:15:06,631 - [INFO] --logFile : True
2022-08-17 17:15:06,631 - [INFO] --aod : reducedAod.root
2022-08-17 17:15:06,631 - [INFO] --reader : configs/readerConfiguration_reducedEventMC.json
2022-08-17 17:15:06,632 - [INFO] --writer : configs/writerConfiguration_dileptonMC.json
2022-08-17 17:15:06,632 - [INFO] --analysis : ['muonSelection', 'eventSelection', 'sameEventPairing']
2022-08-17 17:15:06,632 - [INFO] --process : ['JpsiToMuMu']
2022-08-17 17:15:06,632 - [INFO] --autoDummy : true
2022-08-17 17:15:06,632 - [INFO] --cfgMuonCuts : muonQualityCuts,muonTightQualityCutsForTests
2022-08-17 17:15:06,632 - [INFO] --cfgMuonMCSignals : muFromJpsi,muFromPsi2S
2022-08-17 17:15:06,633 - [INFO] --cfgBarrelMCRecSignals : mumuFromJpsi,mumuFromPsi2S,dimuon
2022-08-17 17:15:06,633 - [INFO] --cfgBarrelMCGenSignals : Jpsi,Psi2S
2022-08-17 17:15:06,633 - [INFO] --cutLister : False
2022-08-17 17:15:06,633 - [INFO] --MCSignalsLister : False
2022-08-17 17:15:06,633 - [INFO] --debug : DEBUG - There are also filters for some arguments. No value should be entered outside of these filters (look at the choices).
- If the argument can take more than one value, when adding a new property choices is a list and the values must be converted to comma-separated strings
- if your dataset is for run3, o2-analysis-trackextension will be automatically deleted from your workflow as it is not a valid command dep. If the production of the data you want to analyze is new, you should add the o2-analysis-track-propagation task to your workflow with the
--add_track_propparameter. You can found detalis from thereClick Here
- You don't have to configure all the parameters in the Python interface. the parameter you did not configure will remain as the value in the JSON.
- Don't forget to configure your Config JSON file in interface for each workflow and also configure extra
-run<Data|MC>parameters for tableMaker workflow only. - Sometimes you may need to add extra tables and transformations to your workflow to resolve the errors you get. These are related to the data model and the production tag. It is stated in the steps that they will be used when errors are received. If you get an error about these add the relevant parameter to your workflow.
The only select parameter gives you a choice depending on whether you want to keep your old configurations of the interface.
If --onlySelect is configured to true, you will run in JSON overrider interface mode (default value of this parameter is true).
only commands entered in the terminal for some parameters will preserved, while others are set to false.
If --onlySelect is false, you will run in JSON additional interface mode. the values in your original JSON file will be preserved, values entered from the terminal will be appended to the JSON. It would be much better to explain this through an example.
For example, let's say we're working on a tableMaker:
"table-maker": {
"cfgEventCuts": "eventStandardNoINT7",
"cfgBarrelTrackCuts": "jpsiO2MCdebugCuts2,jpsiO2MCdebugCuts3,jpsiO2MCdebugCuts,kaonPID",
"cfgMuonCuts": "muonQualityCuts,muonTightQualityCutsForTests",
"cfgBarrelLowPt": "0.5",
"cfgMuonLowPt": "0.5",
"cfgMinTpcSignal": "50",
"cfgMaxTpcSignal": "200",
"cfgNoQA": "false",
"cfgDetailedQA": "true",
"cfgIsRun2": "false",
"processFull": "true",
"processFullWithCov": "true",
"processFullWithCent": "false",
"processBarrelOnlyWithV0Bits": "false",
"processBarrelOnlyWithEventFilter": "false",
"processBarrelOnlyWithQvector" : "false",
"processBarrelOnlyWithCent": "false",
"processBarrelOnlyWithCov": "false",
"processBarrelOnly": "false",
"processMuonOnlyWithCent": "false",
"processMuonOnlyWithCov": "false",
"processMuonOnly": "false",
"processMuonOnlyWithQvector": "false",
"processMuonOnlyWithFilter": "false",
"processOnlyBCs": "true"
},As seen here, the process functions for Full, FullWithCov, and OnlyBCs are true. Let's assume that we made the following configuration for the interface in the terminal:
python3 runTableMaker.py configs/configTableMakerDataRun2.json -runData --aod Datas/AO2D_PbPbDataRun2_LHC15o.root --process OnlyBCs BarrelOnlyWithCent --onlySelect trueP.S. Since onlySelect is true (you don't need to add it to your workflow when configuring --onlySelect to true, its default value is true I just added it to show, JSON Overrider Mode):
"table-maker": {
"cfgEventCuts": "eventStandardNoINT7",
"cfgBarrelTrackCuts": "jpsiO2MCdebugCuts2,jpsiO2MCdebugCuts3,jpsiO2MCdebugCuts,kaonPID",
"cfgMuonCuts": "muonQualityCuts,muonTightQualityCutsForTests",
"cfgBarrelLowPt": "0.5",
"cfgMuonLowPt": "0.5",
"cfgMinTpcSignal": "50",
"cfgMaxTpcSignal": "200",
"cfgNoQA": "false",
"cfgDetailedQA": "true",
"cfgIsRun2": "false",
"processFull": "false",
"processFullWithCov": "false",
"processFullWithCent": "false",
"processBarrelOnlyWithV0Bits": "false",
"processBarrelOnlyWithEventFilter": "false",
"processBarrelOnlyWithQvector" : "false",
"processBarrelOnlyWithCent": "true",
"processBarrelOnlyWithCov": "false",
"processBarrelOnly": "false",
"processMuonOnlyWithCent": "false",
"processMuonOnlyWithCov": "false",
"processMuonOnly": "false",
"processMuonOnlyWithQvector": "false",
"processMuonOnlyWithFilter": "false",
"processOnlyBCs": "true"
},As you can see, only the OnlyBCs and BarrelOnlyWithCent process functions are set to true, while all other process functions in the tableMaker are set to false.
If we configured onlySelect to false:
python3 runTableMaker.py configs/configTableMakerDataRun2.json -runData --aod Datas/AO2D_PbPbDataRun2_LHC15o.root --process OnlyBCs BarrelOnlyWithCent --onlySelect false (JSON Additional Mode)Then our output would be:
"table-maker": {
"cfgEventCuts": "eventStandardNoINT7",
"cfgBarrelTrackCuts": "jpsiO2MCdebugCuts2,jpsiO2MCdebugCuts3,jpsiO2MCdebugCuts,kaonPID",
"cfgMuonCuts": "muonQualityCuts,muonTightQualityCutsForTests",
"cfgBarrelLowPt": "0.5",
"cfgMuonLowPt": "0.5",
"cfgMinTpcSignal": "50",
"cfgMaxTpcSignal": "200",
"cfgNoQA": "false",
"cfgDetailedQA": "true",
"cfgIsRun2": "false",
"processFull": "true",
"processFullWithCov": "true",
"processFullWithCent": "false",
"processBarrelOnlyWithV0Bits": "false",
"processBarrelOnlyWithEventFilter": "false",
"processBarrelOnlyWithQvector" : "false",
"processBarrelOnlyWithCent": "true",
"processBarrelOnlyWithCov": "false",
"processBarrelOnly": "false",
"processMuonOnlyWithCent": "false",
"processMuonOnlyWithCov": "false",
"processMuonOnly": "false",
"processMuonOnlyWithQvector": "false",
"processMuonOnlyWithFilter": "false",
"processOnlyBCs": "true"
},As you can see, the old process values Full and FullWithCov remained true, in addition, the BarrelOnlyWithCent process function was set to true. OnlyBCs was already true and remains true.
This is the case for the --analysis, --process, --pid and --est parameters.
A similar situation applies to Analysis Cut configurations and MC Signal configurations. Suppose there is a configuration like this in it (for tableReader):
"analysis-track-selection": {
"cfgTrackCuts": "jpsiO2MCdebugCuts2",
"cfgTrackMCSignals": "eFromJpsi,eFromLMeeLF",
"cfgQA": "true",
"processSkimmed": "true",
"processDummy": "false"
},Here we will configure the track cuts:
python3 runTableReader.py configs/configAnalysisData.json --aod reducedAod.root --cfgTrackCuts jpsiPID1 jpsiPID2The JSON is in overrider mode as the default is onlySelect true and the equivalent of this configuration is:
"analysis-track-selection": {
"cfgTrackCuts": "jpsiPID1,jpsiPID2",
"cfgTrackMCSignals": "eFromJpsi,eFromLMeeLF",
"cfgQA": "true",
"processSkimmed": "true",
"processDummy": "false"
},As we can see, the old cut values were deleted, the new cut values were taken from the CLI.
If onlySelect is False:
python3 runTableReader.py configs/configAnalysisData.json --aod reducedAod.root --cfgTrackCuts jpsiPID1 jpsiPID2 --onlySelect falseThen the JSON is in additional mode and the equivalent of this configuration is:
"analysis-track-selection": {
"cfgTrackCuts": "jpsiO2MCdebugCuts2,jpsiPID1,jpsiPID2",
"cfgTrackMCSignals": "eFromJpsi,eFromLMeeLF",
"cfgQA": "true",
"processSkimmed": "true",
"processDummy": "false"
},As we can see, our old track cut value has been preserved and extra new ones have been added.
This is the same for all analysis cuts, MC Signals, barrel and muon sels in filterPP and mixing vars.
This is the main reason why Interface works in these two modes. If you already have a JSON configuration file prepared for a specific data for analysis, it makes sense to use JSON additional mode if you just want to add some values. Because you will want to preserve the old values.
If you are going to do an analysis from zero and you will prepare your JSON configuration file accordingly, or if you want to completely change your analysis values, then it makes sense to use JSON overrider mode. Because the default JSON files must be manipulated in accordance with the analysis (like configAnalysisData.json) or you choose this mode to change the complete analysis values
← Go back to Instructions For Instructions for TAB Autocomplete | ↑ Go to the Table of Content ↑ | Continue to Instructions For Python Scripts →