diff --git a/Tutorials/PWGDQ/configAnalysisData.json b/Tutorials/PWGDQ/configAnalysisData.json new file mode 100644 index 00000000000..4bd84e67a87 --- /dev/null +++ b/Tutorials/PWGDQ/configAnalysisData.json @@ -0,0 +1,94 @@ +{ + "internal-dpl-clock": "", + "internal-dpl-aod-reader": { + "time-limit": "0", + "orbit-offset-enumeration": "0", + "orbit-multiplier-enumeration": "0", + "start-value-enumeration": "0", + "end-value-enumeration": "-1", + "step-value-enumeration": "1", + "aod-file": "reducedAod_data.root", + "aod-reader-json": "configs/readerConfiguration_reducedEvent.json" + }, + "internal-dpl-injected-dummy-sink": "", + "analysis-event-selection": { + "cfgMixingVars": "Vtx3", + "cfgEventCuts": "eventStandardNoINT7", + "cfgQA": "true", + "cfgAddEventHistogram": "trigger,cent,muon", + "processSkimmed": "true", + "processDummy": "false" + }, + "analysis-track-selection": { + "cfgTrackCuts": "jpsiO2MCdebugCuts", + "cfgQA": "true", + "cfgAddTrackHistogram": "dca,its,tpcpid,tofpid", + "cfgPrefilterCutId": "32", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdb-path-tpc": "Users/i/iarsene/Calib/TPCpostCalib", + "cfgTPCpostCalib": "false", + "cfgRunPeriods": "LHC22f", + "processSkimmed": "true", + "processSkimmedWithCov": "false", + "processDummy": "false" + }, + "analysis-prefilter-selection": { + "cfgPrefilterPairCut": "", + "processBarrelSkimmed": "false", + "processDummy": "true" + }, + "analysis-muon-selection": { + "cfgMuonCuts": "muonQualityCuts", + "cfgQA": "true", + "cfgAddMuonHistogram": "muon", + "processSkimmed": "true", + "processDummy": "false" + }, + "analysis-event-mixing": { + "cfgTrackCuts": "jpsiO2MCdebugCuts", + "cfgMuonCuts": "muonQualityCuts", + "cfgMixingDepth": "1", + "cfgAddEventMixingHistogram": "barrel,vertexing,flow", + "processBarrelSkimmed": "false", + "processMuonSkimmed": "false", + "processBarrelMuonSkimmed": "false", + "processBarrelVnSkimmed": "false", + "processMuonVnSkimmed": "false", + "processDummy": "true" + }, + "analysis-same-event-pairing": { + "cfgTrackCuts": "jpsiO2MCdebugCuts", + "cfgMuonCuts": "muonQualityCuts", + "cfgPairCuts": "", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdb-path": "Users/lm", + "cfgAddSEPHistogram": "barrel,vertexing,flow", + "cfgFlatTables": "false", + "cfgUseKFVertexing": "false", + "cfgUseRemoteField": "false", + "cfgMagField": "5.0", + "ccdburl": "http://alice-ccdb.cern.ch", + "grpmagPath": "GLO/Config/GRPMagField", + "cfgUseAbsDCA": "false", + "cfgPropToPCA": "false", + "processDecayToEESkimmed": "true", + "processDecayToEESkimmedWithCov": "false", + "processDecayToEEVertexingSkimmed": "false", + "processDecayToEEPrefilterSkimmed": "false", + "processDecayToMuMuSkimmed": "true", + "processDecayToMuMuVertexingSkimmed": "false", + "processVnDecayToEESkimmed": "false", + "processVnDecayToMuMuSkimmed": "false", + "processElectronMuonSkimmed": "false", + "processAllSkimmed": "false", + "processDummy": "false" + }, + "analysis-dilepton-hadron": { + "cfgLeptonCuts": "jpsiPID1", + "cfgAddDileptonHadHistogram": "dilepton-hadron-correlation", + "processSkimmed": "false", + "processDummy": "true" + }, + "internal-dpl-aod-global-analysis-file-sink": "", + "internal-dpl-aod-writer": "" +} diff --git a/Tutorials/PWGDQ/configAnalysisMC.json b/Tutorials/PWGDQ/configAnalysisMC.json new file mode 100644 index 00000000000..78a38b88d32 --- /dev/null +++ b/Tutorials/PWGDQ/configAnalysisMC.json @@ -0,0 +1,64 @@ +{ + "internal-dpl-clock": "", + "internal-dpl-aod-reader": { + "time-limit": "0", + "orbit-offset-enumeration": "0", + "orbit-multiplier-enumeration": "0", + "start-value-enumeration": "0", + "end-value-enumeration": "-1", + "step-value-enumeration": "1", + "aod-file": "reducedAod_mc.root", + "aod-reader-json": "configs/readerConfiguration_reducedEventMC.json" + }, + "internal-dpl-injected-dummy-sink": "", + "analysis-event-selection": { + "cfgEventCuts": "eventStandardNoINT7", + "cfgQA": "true", + "processSkimmed": "true", + "processDummy": "false" + }, + "analysis-track-selection": { + "cfgTrackCuts": "jpsiO2MCdebugCuts2", + "cfgTrackMCSignals": "eFromJpsi,eFromLMeeLF", + "cfgQA": "true", + "processSkimmed": "true", + "processDummy": "false" + }, + "analysis-muon-selection": { + "cfgMuonCuts": "muonQualityCuts", + "cfgMuonMCSignals": "muFromJpsi", + "cfgQA": "true", + "processSkimmed": "false", + "processDummy": "true" + }, + "analysis-same-event-pairing": { + "cfgTrackCuts": "jpsiO2MCdebugCuts2", + "cfgMuonCuts": "muonQualityCuts", + "cfgBarrelMCRecSignals": "eeFromJpsi,eeFromLMeeLF,dielectron", + "cfgBarrelMCGenSignals": "Jpsi", + "cfgFlatTables": "false", + "cfgUseKFVertexing": "false", + "cfgUseRemoteField": "false", + "cfgMagField": "5.0", + "ccdburl": "http://alice-ccdb.cern.ch", + "grpmagPath": "GLO/Config/GRPMagField", + "cfgUseAbsDCA": "false", + "cfgPropToPCA": "false", + "processDecayToEESkimmed": "true", + "processDecayToEEVertexingSkimmed": "false", + "processDecayToMuMuSkimmed": "false", + "processDecayToMuMuVertexingSkimmed": "false", + "processDummy": "false" + }, + "analysis-dilepton-track": { + "cfgLeptonCuts": "muonQualityCuts", + "cfgFillCandidateTable": "false", + "cfgBarrelMCRecSignals": "mumuFromJpsiFromBc,mumumuFromBc", + "cfgBarrelMCGenSignals": "Jpsi", + "processDimuonMuonSkimmed": "false", + "processDielectronKaonSkimmed": "false", + "processDummy": "true" + }, + "internal-dpl-aod-global-analysis-file-sink": "", + "internal-dpl-aod-writer": "" +} diff --git a/Tutorials/PWGDQ/configFilterPPDataRun2.json b/Tutorials/PWGDQ/configFilterPPDataRun2.json new file mode 100644 index 00000000000..dba5f733649 --- /dev/null +++ b/Tutorials/PWGDQ/configFilterPPDataRun2.json @@ -0,0 +1,184 @@ +{ + "internal-dpl-clock": "", + "internal-dpl-aod-reader": { + "time-limit": "0", + "orbit-offset-enumeration": "0", + "orbit-multiplier-enumeration": "0", + "start-value-enumeration": "0", + "end-value-enumeration": "-1", + "step-value-enumeration": "1", + "aod-file": "AO2D_pp_285396.root" + }, + "internal-dpl-aod-global-analysis-file-sink": "", + "internal-dpl-aod-writer": "", + "timestamp-task": { + "verbose": "false", + "rct-path": "RCT/Info/RunInformation", + "orbit-reset-path": "CTP/Calib/OrbitReset", + "ccdb-url": "http://alice-ccdb.cern.ch", + "isRun2MC": "false" + }, + "event-selection-task": { + "syst": "pp", + "muonSelection": "0", + "customDeltaBC": "300", + "isMC": "false", + "processRun2": "true", + "processRun3": "false" + }, + "bc-selection-task": { + "triggerBcShift": "999", + "processRun2": "true", + "processRun3": "false" + }, + "track-selection": { + "isRun3": "false", + "produceFBextendedTable": "false", + "compatibilityIU": "false", + "itsMatching": "0", + "ptMin": "0.1", + "ptMax": "1e+10", + "etaMin": "-0.8", + "etaMax": "0.8" + }, + "track-propagation": { + "ccdb-url": "http://alice-ccdb.cern.ch", + "lutPath": "GLO/Param/MatLUT", + "geoPath": "GLO/Config/GeometryAligned", + "grpmagPath": "GLO/Config/GRPMagField", + "mVtxPath": "GLO/Calib/MeanVertex", + "processStandard": "false", + "processCovariance": "true" + }, + "track-extension": { + "compatibilityIU": "false", + "processRun2": "true", + "processRun3": "false" + }, + "multiplicity-table": { + "doVertexZeq": "1", + "processRun2": "false", + "processRun3": "true" + }, + "tof-pid": { + "param-file": "", + "param-sigma": "TOFResoParams", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "passName": "", + "ccdb-timestamp": "-1", + "enableTimeDependentResponse": "false", + "useParamCollection": "false", + "fatalOnPassNotAvailable": "true", + "pid-el": "-1", + "pid-mu": "-1", + "pid-pi": "-1", + "pid-ka": "-1", + "pid-pr": "-1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1", + "processWSlice": "true", + "processWoSlice": "false" + }, + "tof-pid-full": { + "param-file": "", + "param-sigma": "TOFResoParams", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "passName": "", + "ccdb-timestamp": "-1", + "enableTimeDependentResponse": "false", + "useParamCollection": "false", + "fatalOnPassNotAvailable": "true", + "pid-el": "1", + "pid-mu": "1", + "pid-pi": "1", + "pid-ka": "1", + "pid-pr": "1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1", + "processWSlice": "true", + "processWoSlice": "false", + "processWoSliceDev": "false" + }, + "tpc-pid-full": { + "param-file": "", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TPC/Response", + "ccdb-timestamp": "0", + "useNetworkCorrection": "false", + "autofetchNetworks": "true", + "networkPathLocally": "network.onnx", + "networkPathCCDB": "Analysis/PID/TPC/ML", + "enableNetworkOptimizations": "true", + "networkSetNumThreads": "0", + "pid-el": "1", + "pid-mu": "1", + "pid-pi": "1", + "pid-ka": "1", + "pid-pr": "1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1" + }, + "tof-event-time": { + "minMomentum": "0.5", + "maxMomentum": "2.0", + "maxEvTimeTOF": "100000.0", + "param-file": "", + "param-sigma": "TOFReso", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "ccdb-timestamp": "-1", + "processRun2": "false", + "processNoFT0": "true", + "processFT0": "false", + "processOnlyFT0": "false" + }, + "tof-signal": { + "processRun3": "false", + "processRun2": "true" + }, + "tof-pid-beta": { + "tof-expreso": "80" + }, + "collision-converter": { + "doNotSwap": "false", + "debug": "false", + "nbins": "1", + "tolerance": "1e-3" + }, + "d-q-event-selection-task": { + "cfgEventCuts": "eventStandard", + "cfgWithQA": "false", + "processEventSelection": "true", + "processDummy": "false" + }, + "d-q-barrel-track-selection": { + "cfgBarrelTrackCuts": "jpsiPID2,jpsiPID1", + "cfgWithQA": "false", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdb-path-tpc": "Users/i/iarsene/Calib/TPCpostCalib", + "cfgTPCpostCalib": "false", + "processSelection": "true", + "processDummy": "false" + }, + "d-q-muons-selection": { + "cfgMuonsCuts": "muonLowPt,muonHighPt", + "cfgWithQA": "false", + "processSelection": "true", + "processDummy": "false" + }, + "d-q-filter-p-p-task": { + "cfgBarrelSels": "jpsiPID2::1,jpsiPID1:pairMassLow:1", + "cfgMuonSels": "muonLowPt::1,muonHighPt::1,muonLowPt:pairNoCut:1", + "cfgWithQA": "false", + "processFilterPP": "true", + "processDummy": "false" + } +} diff --git a/Tutorials/PWGDQ/configFilterPPDataRun3.json b/Tutorials/PWGDQ/configFilterPPDataRun3.json new file mode 100644 index 00000000000..490d183f149 --- /dev/null +++ b/Tutorials/PWGDQ/configFilterPPDataRun3.json @@ -0,0 +1,178 @@ +{ + "internal-dpl-clock": "", + "internal-dpl-aod-reader": { + "time-limit": "0", + "orbit-offset-enumeration": "0", + "orbit-multiplier-enumeration": "0", + "start-value-enumeration": "0", + "end-value-enumeration": "-1", + "step-value-enumeration": "1", + "aod-file": "AO2D_filterppTest.root" + }, + "internal-dpl-aod-global-analysis-file-sink": "", + "internal-dpl-aod-writer": "", + "timestamp-task": { + "verbose": "false", + "rct-path": "RCT/Info/RunInformation", + "orbit-reset-path": "CTP/Calib/OrbitReset", + "ccdb-url": "http://alice-ccdb.cern.ch", + "isRun2MC": "false" + }, + "event-selection-task": { + "syst": "pp", + "muonSelection": "0", + "customDeltaBC": "300", + "isMC": "false", + "processRun2": "false", + "processRun3": "true" + }, + "bc-selection-task": { + "triggerBcShift": "999", + "processRun2": "false", + "processRun3": "true" + }, + "track-selection": { + "isRun3": "true", + "produceFBextendedTable": "false", + "compatibilityIU": "false", + "itsMatching": "1", + "ptMin": "0.1", + "ptMax": "1e+10", + "etaMin": "-0.8", + "etaMax": "0.8" + }, + "track-propagation": { + "ccdb-url": "http://alice-ccdb.cern.ch", + "lutPath": "GLO/Param/MatLUT", + "geoPath": "GLO/Config/GeometryAligned", + "grpmagPath": "GLO/Config/GRPMagField", + "mVtxPath": "GLO/Calib/MeanVertex", + "processStandard": "false", + "processCovariance": "true" + }, + "track-extension": { + "compatibilityIU": "false", + "processRun2": "false", + "processRun3": "true" + }, + "multiplicity-table": { + "doVertexZeq": "1", + "processRun2": "false", + "processRun3": "true" + }, + "tof-pid": { + "param-file": "", + "param-sigma": "TOFResoParams", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "passName": "", + "ccdb-timestamp": "-1", + "enableTimeDependentResponse": "false", + "useParamCollection": "false", + "fatalOnPassNotAvailable": "true", + "pid-el": "-1", + "pid-mu": "-1", + "pid-pi": "-1", + "pid-ka": "-1", + "pid-pr": "-1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1", + "processWSlice": "true", + "processWoSlice": "false" + }, + "tof-pid-full": { + "param-file": "", + "param-sigma": "TOFResoParams", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "passName": "", + "ccdb-timestamp": "-1", + "enableTimeDependentResponse": "false", + "useParamCollection": "false", + "fatalOnPassNotAvailable": "true", + "pid-el": "1", + "pid-mu": "1", + "pid-pi": "1", + "pid-ka": "1", + "pid-pr": "1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1", + "processWSlice": "true", + "processWoSlice": "false", + "processWoSliceDev": "false" + }, + "tpc-pid-full": { + "param-file": "", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TPC/Response", + "ccdb-timestamp": "0", + "useNetworkCorrection": "false", + "autofetchNetworks": "true", + "networkPathLocally": "network.onnx", + "networkPathCCDB": "Analysis/PID/TPC/ML", + "enableNetworkOptimizations": "true", + "networkSetNumThreads": "0", + "pid-el": "1", + "pid-mu": "1", + "pid-pi": "1", + "pid-ka": "1", + "pid-pr": "1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1" + }, + "tof-event-time": { + "minMomentum": "0.5", + "maxMomentum": "2.0", + "maxEvTimeTOF": "100000.0", + "param-file": "", + "param-sigma": "TOFReso", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "ccdb-timestamp": "-1", + "processRun2": "false", + "processNoFT0": "true", + "processFT0": "false", + "processOnlyFT0": "false" + }, + "tof-signal": { + "processRun3": "true", + "processRun2": "false" + }, + "tof-pid-beta": { + "tof-expreso": "80" + }, + "d-q-event-selection-task": { + "cfgEventCuts": "eventStandardNoINT7", + "cfgWithQA": "false", + "processEventSelection": "true", + "processDummy": "false" + }, + "d-q-barrel-track-selection": { + "cfgBarrelTrackCuts": "jpsiO2MCdebugCuts2,jpsiO2MCdebugCuts2,jpsiO2MCdebugCuts3,jpsiO2MCdebugCuts3,jpsiO2MCdebugCuts,jpsiO2MCdebugCuts", + "cfgWithQA": "false", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdb-path-tpc": "Users/i/iarsene/Calib/TPCpostCalib", + "cfgTPCpostCalib": "false", + "processSelection": "true", + "processDummy": "false" + }, + "d-q-muons-selection": { + "cfgMuonsCuts": "muonHighPt", + "cfgWithQA": "false", + "processSelection": "true", + "processDummy": "false" + }, + "d-q-filter-p-p-task": { + "cfgBarrelSels": "jpsiO2MCdebugCuts2::1,jpsiO2MCdebugCuts2::2,jpsiO2MCdebugCuts3::1,jpsiO2MCdebugCuts3::2,jpsiO2MCdebugCuts::1,jpsiO2MCdebugCuts::2", + "cfgMuonSels": "muonHighPt::1", + "cfgWithQA": "false", + "processFilterPP": "true", + "processDummy": "false" + } +} diff --git a/Tutorials/PWGDQ/configTableMakerDataRun2.json b/Tutorials/PWGDQ/configTableMakerDataRun2.json new file mode 100644 index 00000000000..2df0a5c6ab5 --- /dev/null +++ b/Tutorials/PWGDQ/configTableMakerDataRun2.json @@ -0,0 +1,306 @@ +{ + "internal-dpl-clock": "", + "internal-dpl-aod-reader": { + "time-limit": "0", + "orbit-offset-enumeration": "0", + "orbit-multiplier-enumeration": "0", + "start-value-enumeration": "0", + "end-value-enumeration": "-1", + "step-value-enumeration": "1", + "aod-file": "@AO2Ds_LHC18b_lego204.txt" + }, + "internal-dpl-aod-spawner": "", + "internal-dpl-aod-index-builder": "", + "timestamp-task": { + "verbose": "false", + "rct-path": "RCT/Info/RunInformation", + "orbit-reset-path": "CTP/Calib/OrbitReset", + "ccdb-url": "http://alice-ccdb.cern.ch", + "isRun2MC": "false" + }, + "event-selection-task": { + "syst": "PbPb", + "muonSelection": "0", + "customDeltaBC": "300", + "isMC": "false", + "processRun2": "true", + "processRun3": "false" + }, + "bc-selection-task": { + "triggerBcShift": "999", + "processRun2": "true", + "processRun3": "false" + }, + "track-selection": { + "isRun3": "false", + "produceFBextendedTable": "false", + "compatibilityIU": "false", + "itsMatching": "0", + "ptMin": "0.1", + "ptMax": "1e+10", + "etaMin": "-0.8", + "etaMax": "0.8" + }, + "track-propagation": { + "ccdb-url": "http://alice-ccdb.cern.ch", + "lutPath": "GLO/Param/MatLUT", + "geoPath": "GLO/Config/GeometryAligned", + "grpmagPath": "GLO/Config/GRPMagField", + "mVtxPath": "GLO/Calib/MeanVertex", + "processStandard": "false", + "processCovariance": "true" + }, + "track-extension": { + "compatibilityIU": "false", + "processRun2": "true", + "processRun3": "false" + }, + "multiplicity-table": { + "doVertexZeq": "1", + "processRun2": "true", + "processRun3": "false" + }, + "centrality-table": { + "estRun2V0M": "-1", + "estRun2SPDtks": "-1", + "estRun2SPDcls": "-1", + "estRun2CL0": "-1", + "estRun2CL1": "-1", + "estFV0A": "-1", + "estFT0M": "-1", + "estFT0A": "-1", + "estFT0C": "-1", + "estFDDM": "-1", + "estNTPV": "-1", + "ccdburl": "http://alice-ccdb.cern.ch", + "ccdbpath": "Centrality/Estimators", + "doNotCrashOnNull": "false", + "processRun2": "true", + "processRun3": "false", + "genname": "" + }, + "v0-selector": { + "v0max_mee": "0.06", + "maxpsipair": "0.3", + "v0cospa": "0.998", + "dcav0dau": "0.3", + "v0Rmin": "0", + "v0Rmax": "90.0", + "dcamin": "0", + "dcamax": "1e+10", + "mincrossedrows": "70", + "maxchi2tpc": "4" + }, + "track-pid-qa": { + "dcamin": "0", + "dcamax": "1e+10", + "mincrossedrows": "70", + "maxchi2tpc": "4", + "processQA": "true", + "processDummy": "false" + }, + "tof-pid": { + "param-file": "", + "param-sigma": "TOFResoParams", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "passName": "", + "ccdb-timestamp": "-1", + "enableTimeDependentResponse": "false", + "useParamCollection": "false", + "fatalOnPassNotAvailable": "true", + "pid-el": "-1", + "pid-mu": "-1", + "pid-pi": "-1", + "pid-ka": "-1", + "pid-pr": "-1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1", + "processWSlice": "true", + "processWoSlice": "false" + }, + "tof-pid-full": { + "param-file": "", + "param-sigma": "TOFResoParams", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "passName": "", + "ccdb-timestamp": "-1", + "enableTimeDependentResponse": "false", + "useParamCollection": "false", + "fatalOnPassNotAvailable": "true", + "pid-el": "1", + "pid-mu": "1", + "pid-pi": "1", + "pid-ka": "1", + "pid-pr": "1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1", + "processWSlice": "true", + "processWoSlice": "false", + "processWoSliceDev": "false" + }, + "tpc-pid-full": { + "param-file": "", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TPC/Response", + "ccdb-timestamp": "0", + "useNetworkCorrection": "false", + "autofetchNetworks": "true", + "networkPathLocally": "network.onnx", + "networkPathCCDB": "Analysis/PID/TPC/ML", + "enableNetworkOptimizations": "true", + "networkSetNumThreads": "0", + "pid-el": "1", + "pid-mu": "1", + "pid-pi": "1", + "pid-ka": "1", + "pid-pr": "1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1" + }, + "tof-event-time": { + "minMomentum": "0.5", + "maxMomentum": "2.0", + "maxEvTimeTOF": "100000.0", + "param-file": "", + "param-sigma": "TOFReso", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "ccdb-timestamp": "-1", + "processRun2": "true", + "processNoFT0": "false", + "processFT0": "false", + "processOnlyFT0": "false" + }, + "tof-signal": { + "processRun3": "false", + "processRun2": "true" + }, + "tof-pid-beta": { + "tof-expreso": "80" + }, + "dalitz-pairing": { + "cfgEventCuts": "eventStandard", + "cfgDalitzTrackCuts": "", + "cfgDalitzPairCuts": "", + "cfgAddTrackHistogram": "", + "cfgQA": "true", + "cfgBarrelLowPIN": "0.1", + "cfgEtaCut": "0.9", + "cfgTPCNSigElLow": "-3", + "cfgTPCNSigElHigh": "3", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdb-path-tpc": "Users/i/iarsene/Calib/TPCpostCalib", + "cfgTPCpostCalib": "false", + "processFullTracks": "true", + "processDummy": "false" + }, + "d-q-event-qvector": { + "cfgEventCuts": "eventStandard", + "cfgQA": "true", + "cfgCutPtMin": "0.2", + "cfgCutPtMax": "12.0", + "cfgCutEtaMin": "-0.8", + "cfgCutEtaMax": "0.8", + "cfgEtaLimitMin": "-0.4", + "cfgEtaLimitMax": "0.4", + "cfgNPow": "0", + "ccdb-path-efficiency": "Users/r/rcaron/efficiency", + "ccdb-path-acceptance": "", + "ccdb-url": "http://alice-ccdb.cern.ch", + "processBarrelQvectorRun2": "false", + "processBarrelQvector": "false", + "processForwardQvector": "false", + "processDummy": "true" + }, + "collision-converter": { + "doNotSwap": "false", + "debug": "false", + "nbins": "1", + "tolerance": "1e-3" + }, + "d-q-barrel-track-selection": { + "cfgBarrelTrackCuts": "jpsiPID1,jpsiPID2,jpsiPIDnsigma", + "cfgWithQA": "false", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdb-path-tpc": "Users/i/iarsene/Calib/TPCpostCalib", + "cfgTPCpostCalib": "false", + "processSelection": "true", + "processDummy": "false" + }, + "d-q-muons-selection": { + "cfgMuonsCuts": "muonQualityCuts", + "cfgWithQA": "false", + "processSelection": "true", + "processDummy": "false" + }, + "d-q-event-selection-task": { + "cfgEventCuts": "eventStandard", + "cfgWithQA": "false", + "processEventSelection": "true", + "processDummy": "false" + }, + "d-q-filter-p-p-task": { + "cfgBarrelSels": "jpsiPID1::1,jpsiPID2::1,jpsiPIDnsigma::1", + "cfgMuonSels": "muonQualityCuts:pairMassLow:1", + "cfgWithQA": "false", + "processFilterPP": "true", + "processDummy": "false" + }, + "table-maker": { + "cfgEventCuts": "eventStandard", + "cfgBarrelTrackCuts": "jpsiPID1,jpsiPID2,jpsiPIDnsigma", + "cfgMuonCuts": "muonQualityCuts,muonTightQualityCutsForTests", + "cfgAddEventHistogram": "triggerall,cent", + "cfgAddTrackHistogram": "dca,its,tpcpid,tofpid", + "cfgAddMuonHistogram": "muon", + "cfgBarrelLowPt": "1", + "cfgMuonLowPt": "0.5", + "cfgMinTpcSignal": "30", + "cfgMaxTpcSignal": "300", + "cfgQA": "true", + "cfgDetailedQA": "true", + "cfgIsRun2": "true", + "cfgIsAmbiguous": "false", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdb-path-tpc": "Users/i/iarsene/Calib/TPCpostCalib", + "cfgTPCpostCalib": "false", + "cfgRunPeriods": "LHC22f", + "processFull": "false", + "processFullWithCov": "false", + "processFullWithCovAndEventFilter": "false", + "processFullWithCent": "false", + "processFullWithCentAndMults": "false", + "processBarrelOnlyWithV0Bits": "false", + "processBarrelOnlyWithDalitzBits": "false", + "processBarrelOnlyWithEventFilter": "false", + "processBarrelOnlyWithMults": "false", + "processBarrelOnlyWithCovAndEventFilter": "false", + "processBarrelOnlyWithCent": "false", + "processBarrelOnlyWithCentAndMults": "false", + "processBarrelOnlyWithCov": "false", + "processBarrelOnly": "false", + "processMuonOnlyWithCent": "false", + "processMuonOnlyWithMults": "false", + "processMuonOnlyWithCentAndMults": "false", + "processMuonOnlyWithCovAndCent": "false", + "processMuonOnlyWithCov": "false", + "processMuonOnly": "false", + "processMuonOnlyWithFilter": "false", + "processAmbiguousMuonOnly": "false", + "processAmbiguousMuonOnlyWithCov": "false", + "processAmbiguousBarrelOnly": "false", + "processBarrelOnlyWithQvector": "false", + "processMuonOnlyWithQvector": "false", + "processOnlyBCs": "true" + }, + "internal-dpl-aod-global-analysis-file-sink": "", + "internal-dpl-aod-writer": "" +} diff --git a/Tutorials/PWGDQ/configTableMakerDataRun3.json b/Tutorials/PWGDQ/configTableMakerDataRun3.json new file mode 100644 index 00000000000..33842cf21f4 --- /dev/null +++ b/Tutorials/PWGDQ/configTableMakerDataRun3.json @@ -0,0 +1,306 @@ +{ + "internal-dpl-clock": "", + "internal-dpl-aod-reader": { + "time-limit": "0", + "orbit-offset-enumeration": "0", + "orbit-multiplier-enumeration": "0", + "start-value-enumeration": "0", + "end-value-enumeration": "-1", + "step-value-enumeration": "1", + "aod-file": "@infiles/run3pilotMC_LHC21k6.txt" + }, + "internal-dpl-aod-global-analysis-file-sink": "", + "internal-dpl-aod-writer": "", + "internal-dpl-aod-spawner": "", + "internal-dpl-aod-index-builder": "", + "timestamp-task": { + "verbose": "false", + "rct-path": "RCT/Info/RunInformation", + "orbit-reset-path": "CTP/Calib/OrbitReset", + "ccdb-url": "http://alice-ccdb.cern.ch", + "isRun2MC": "false" + }, + "event-selection-task": { + "syst": "pp", + "muonSelection": "0", + "customDeltaBC": "300", + "isMC": "false", + "processRun2": "false", + "processRun3": "true" + }, + "bc-selection-task": { + "triggerBcShift": "999", + "processRun2": "false", + "processRun3": "true" + }, + "track-selection": { + "isRun3": "true", + "produceFBextendedTable": "false", + "compatibilityIU": "false", + "itsMatching": "1", + "ptMin": "0.1", + "ptMax": "1e+10", + "etaMin": "-0.8", + "etaMax": "0.8" + }, + "track-propagation": { + "ccdb-url": "http://alice-ccdb.cern.ch", + "lutPath": "GLO/Param/MatLUT", + "geoPath": "GLO/Config/GeometryAligned", + "grpmagPath": "GLO/Config/GRPMagField", + "mVtxPath": "GLO/Calib/MeanVertex", + "processStandard": "false", + "processCovariance": "true" + }, + "track-extension": { + "compatibilityIU": "false", + "processRun2": "false", + "processRun3": "true" + }, + "multiplicity-table": { + "doVertexZeq": "1", + "processRun2": "false", + "processRun3": "true" + }, + "tof-pid": { + "param-file": "", + "param-sigma": "TOFResoParams", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "passName": "", + "ccdb-timestamp": "-1", + "enableTimeDependentResponse": "false", + "useParamCollection": "false", + "fatalOnPassNotAvailable": "true", + "pid-el": "-1", + "pid-mu": "-1", + "pid-pi": "-1", + "pid-ka": "-1", + "pid-pr": "-1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1", + "processWSlice": "true", + "processWoSlice": "false" + }, + "tof-pid-full": { + "param-file": "", + "param-sigma": "TOFResoParams", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "passName": "", + "ccdb-timestamp": "-1", + "enableTimeDependentResponse": "false", + "useParamCollection": "false", + "fatalOnPassNotAvailable": "true", + "pid-el": "1", + "pid-mu": "1", + "pid-pi": "1", + "pid-ka": "1", + "pid-pr": "1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1", + "processWSlice": "true", + "processWoSlice": "false", + "processWoSliceDev": "false" + }, + "tpc-pid-full": { + "param-file": "", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TPC/Response", + "ccdb-timestamp": "0", + "useNetworkCorrection": "false", + "autofetchNetworks": "true", + "networkPathLocally": "network.onnx", + "networkPathCCDB": "Analysis/PID/TPC/ML", + "enableNetworkOptimizations": "true", + "networkSetNumThreads": "0", + "pid-el": "1", + "pid-mu": "1", + "pid-pi": "1", + "pid-ka": "1", + "pid-pr": "1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1" + }, + "tof-event-time": { + "minMomentum": "0.5", + "maxMomentum": "2.0", + "maxEvTimeTOF": "100000.0", + "param-file": "", + "param-sigma": "TOFReso", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "ccdb-timestamp": "-1", + "processRun2": "false", + "processNoFT0": "true", + "processFT0": "false", + "processOnlyFT0": "false" + }, + "tof-signal": { + "processRun3": "true", + "processRun2": "false" + }, + "tof-pid-beta": { + "tof-expreso": "80" + }, + "d-q-event-selection-task": { + "cfgEventCuts": "eventStandardNoINT7", + "cfgWithQA": "false", + "processEventSelection": "true", + "processDummy": "false" + }, + "d-q-barrel-track-selection": { + "cfgBarrelTrackCuts": "jpsiO2MCdebugCuts2,jpsiO2MCdebugCuts2,jpsiO2MCdebugCuts3,jpsiO2MCdebugCuts3,jpsiO2MCdebugCuts,jpsiO2MCdebugCuts", + "cfgWithQA": "false", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdb-path-tpc": "Users/i/iarsene/Calib/TPCpostCalib", + "cfgTPCpostCalib": "false", + "processSelection": "true", + "processDummy": "false" + }, + "d-q-muons-selection": { + "cfgMuonsCuts": "muonHighPt", + "cfgWithQA": "false", + "processSelection": "true", + "processDummy": "false" + }, + "d-q-filter-p-p-task": { + "cfgBarrelSels": "jpsiO2MCdebugCuts2::1,jpsiO2MCdebugCuts2::2,jpsiO2MCdebugCuts3::1,jpsiO2MCdebugCuts3::2,jpsiO2MCdebugCuts::1,jpsiO2MCdebugCuts::2", + "cfgMuonSels": "muonHighPt::1", + "cfgWithQA": "false", + "processFilterPP": "true", + "processDummy": "false" + }, + "centrality-table": { + "estRun2V0M": "-1", + "estRun2SPDtks": "-1", + "estRun2SPDcls": "-1", + "estRun2CL0": "-1", + "estRun2CL1": "-1", + "estFV0A": "-1", + "estFT0M": "-1", + "estFT0A": "-1", + "estFT0C": "-1", + "estFDDM": "-1", + "estNTPV": "-1", + "ccdburl": "http://alice-ccdb.cern.ch", + "ccdbpath": "Centrality/Estimators", + "doNotCrashOnNull": "false", + "processRun2": "false", + "processRun3": "true", + "genname": "" + }, + "v0-selector": { + "v0max_mee": "0.06", + "maxpsipair": "0.3", + "v0cospa": "0.998", + "dcav0dau": "0.3", + "v0Rmin": "0", + "v0Rmax": "90.0", + "dcamin": "0", + "dcamax": "1e+10", + "mincrossedrows": "70", + "maxchi2tpc": "4" + }, + "track-pid-qa": { + "dcamin": "0", + "dcamax": "1e+10", + "mincrossedrows": "70", + "maxchi2tpc": "4", + "processQA": "true", + "processDummy": "false" + }, + "dalitz-pairing": { + "cfgEventCuts": "eventStandard", + "cfgDalitzTrackCuts": "", + "cfgDalitzPairCuts": "", + "cfgAddTrackHistogram": "", + "cfgQA": "true", + "cfgBarrelLowPIN": "0.1", + "cfgEtaCut": "0.9", + "cfgTPCNSigElLow": "-3", + "cfgTPCNSigElHigh": "3", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdb-path-tpc": "Users/i/iarsene/Calib/TPCpostCalib", + "cfgTPCpostCalib": "false", + "processFullTracks": "true", + "processDummy": "false" + }, + "d-q-event-qvector": { + "cfgEventCuts": "eventStandard", + "cfgQA": "true", + "cfgCutPtMin": "0.2", + "cfgCutPtMax": "12.0", + "cfgCutEtaMin": "-0.8", + "cfgCutEtaMax": "0.8", + "cfgEtaLimitMin": "-0.4", + "cfgEtaLimitMax": "0.4", + "cfgNPow": "0", + "ccdb-path-efficiency": "Users/r/rcaron/efficiency", + "ccdb-path-acceptance": "", + "ccdb-url": "http://alice-ccdb.cern.ch", + "processBarrelQvectorRun2": "false", + "processBarrelQvector": "false", + "processForwardQvector": "false", + "processDummy": "true" + }, + "collision-converter": { + "doNotSwap": "true", + "debug": "false", + "nbins": "1", + "tolerance": "1e-3" + }, + "table-maker": { + "cfgEventCuts": "eventStandardNoINT7", + "cfgBarrelTrackCuts": "jpsiO2MCdebugCuts2,jpsiO2MCdebugCuts3,jpsiO2MCdebugCuts,kaonPID2", + "cfgMuonCuts": "muonQualityCuts,muonTightQualityCutsForTests", + "cfgAddEventHistogram": "triggerall,cent", + "cfgAddTrackHistogram": "dca,its,tpcpid,tofpid", + "cfgAddMuonHistogram": "muon", + "cfgBarrelLowPt": "0.5", + "cfgMuonLowPt": "0.5", + "cfgMinTpcSignal": "50", + "cfgMaxTpcSignal": "200", + "cfgQA": "true", + "cfgDetailedQA": "true", + "cfgIsRun2": "false", + "cfgIsAmbiguous": "false", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdb-path-tpc": "Users/i/iarsene/Calib/TPCpostCalib", + "cfgTPCpostCalib": "false", + "cfgRunPeriods": "LHC22f", + "processFull": "false", + "processFullWithCov": "false", + "processFullWithCovAndEventFilter": "false", + "processFullWithCent": "false", + "processFullWithCentAndMults": "false", + "processBarrelOnlyWithV0Bits": "false", + "processBarrelOnlyWithDalitzBits": "false", + "processBarrelOnlyWithEventFilter": "false", + "processBarrelOnlyWithMults": "false", + "processBarrelOnlyWithCovAndEventFilter": "false", + "processBarrelOnlyWithCent": "false", + "processBarrelOnlyWithCentAndMults": "false", + "processBarrelOnlyWithCov": "false", + "processBarrelOnly": "false", + "processMuonOnlyWithCent": "false", + "processMuonOnlyWithMults": "false", + "processMuonOnlyWithCentAndMults": "false", + "processMuonOnlyWithCovAndCent": "false", + "processMuonOnlyWithCov": "false", + "processMuonOnly": "false", + "processMuonOnlyWithFilter": "false", + "processAmbiguousMuonOnly": "false", + "processAmbiguousMuonOnlyWithCov": "false", + "processAmbiguousBarrelOnly": "false", + "processBarrelOnlyWithQvector": "false", + "processMuonOnlyWithQvector": "false", + "processOnlyBCs": "true" + } +} diff --git a/Tutorials/PWGDQ/configTableMakerMCRun2.json b/Tutorials/PWGDQ/configTableMakerMCRun2.json new file mode 100644 index 00000000000..4c0edcbaad1 --- /dev/null +++ b/Tutorials/PWGDQ/configTableMakerMCRun2.json @@ -0,0 +1,220 @@ +{ + "internal-dpl-clock": "", + "internal-dpl-aod-reader": { + "time-limit": "0", + "orbit-offset-enumeration": "0", + "orbit-multiplier-enumeration": "0", + "start-value-enumeration": "0", + "end-value-enumeration": "-1", + "step-value-enumeration": "1", + "aod-file": "/home/iarsene/data/2020/LHC20f6/246994/PWGZZ/Run3_Conversion/207_20210919-0804/AOD/001/AO2D.root" + }, + "internal-dpl-aod-spawner": "", + "internal-dpl-aod-index-builder": "", + "timestamp-task": { + "verbose": "false", + "rct-path": "RCT/Info/RunInformation", + "orbit-reset-path": "CTP/Calib/OrbitReset", + "ccdb-url": "http://alice-ccdb.cern.ch", + "isRun2MC": "true" + }, + "event-selection-task": { + "syst": "PbPb", + "muonSelection": "0", + "customDeltaBC": "300", + "isMC": "true", + "processRun2": "true", + "processRun3": "false" + }, + "bc-selection-task": { + "triggerBcShift": "999", + "processRun2": "true", + "processRun3": "false" + }, + "track-selection": { + "isRun3": "false", + "produceFBextendedTable": "false", + "compatibilityIU": "false", + "itsMatching": "0", + "ptMin": "0.1", + "ptMax": "1e+10", + "etaMin": "-0.8", + "etaMax": "0.8" + }, + "track-propagation": { + "ccdb-url": "http://alice-ccdb.cern.ch", + "lutPath": "GLO/Param/MatLUT", + "geoPath": "GLO/Config/GeometryAligned", + "grpmagPath": "GLO/Config/GRPMagField", + "mVtxPath": "GLO/Calib/MeanVertex", + "processStandard": "false", + "processCovariance": "true" + }, + "track-extension": { + "compatibilityIU": "false", + "processRun2": "true", + "processRun3": "false" + }, + "multiplicity-table": { + "doVertexZeq": "1", + "processRun2": "true", + "processRun3": "false" + }, + "centrality-table": { + "estRun2V0M": "-1", + "estRun2SPDtks": "-1", + "estRun2SPDcls": "-1", + "estRun2CL0": "-1", + "estRun2CL1": "-1", + "estFV0A": "-1", + "estFT0M": "-1", + "estFT0A": "-1", + "estFT0C": "-1", + "estFDDM": "-1", + "estNTPV": "-1", + "ccdburl": "http://alice-ccdb.cern.ch", + "ccdbpath": "Centrality/Estimators", + "doNotCrashOnNull": "false", + "processRun2": "true", + "processRun3": "false", + "genname": "" + }, + "tof-pid": { + "param-file": "", + "param-sigma": "TOFResoParams", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "passName": "", + "ccdb-timestamp": "-1", + "enableTimeDependentResponse": "false", + "useParamCollection": "false", + "fatalOnPassNotAvailable": "true", + "pid-el": "-1", + "pid-mu": "-1", + "pid-pi": "-1", + "pid-ka": "-1", + "pid-pr": "-1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1", + "processWSlice": "true", + "processWoSlice": "false" + }, + "tof-pid-full": { + "param-file": "", + "param-sigma": "TOFResoParams", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "passName": "", + "ccdb-timestamp": "-1", + "enableTimeDependentResponse": "false", + "useParamCollection": "false", + "fatalOnPassNotAvailable": "true", + "pid-el": "1", + "pid-mu": "1", + "pid-pi": "1", + "pid-ka": "1", + "pid-pr": "1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1", + "processWSlice": "true", + "processWoSlice": "false", + "processWoSliceDev": "false" + }, + "tpc-pid-full": { + "param-file": "", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TPC/Response", + "ccdb-timestamp": "0", + "useNetworkCorrection": "false", + "autofetchNetworks": "true", + "networkPathLocally": "network.onnx", + "networkPathCCDB": "Analysis/PID/TPC/ML", + "enableNetworkOptimizations": "true", + "networkSetNumThreads": "0", + "pid-el": "1", + "pid-mu": "1", + "pid-pi": "1", + "pid-ka": "1", + "pid-pr": "1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1" + }, + "tof-event-time": { + "minMomentum": "0.5", + "maxMomentum": "2.0", + "maxEvTimeTOF": "100000.0", + "param-file": "", + "param-sigma": "TOFReso", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "ccdb-timestamp": "-1", + "processRun2": "true", + "processNoFT0": "false", + "processFT0": "false", + "processOnlyFT0": "false" + }, + "tof-signal": { + "processRun3": "false", + "processRun2": "true" + }, + "tof-pid-beta": { + "tof-expreso": "80" + }, + "dalitz-pairing": { + "cfgEventCuts": "eventStandard", + "cfgDalitzTrackCuts": "", + "cfgDalitzPairCuts": "", + "cfgAddTrackHistogram": "", + "cfgQA": "true", + "cfgBarrelLowPIN": "0.1", + "cfgEtaCut": "0.9", + "cfgTPCNSigElLow": "-3", + "cfgTPCNSigElHigh": "3", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdb-path-tpc": "Users/i/iarsene/Calib/TPCpostCalib", + "cfgTPCpostCalib": "false", + "processFullTracks": "true", + "processDummy": "false" + }, + "table-maker-m-c": { + "cfgEventCuts": "eventStandardNoINT7", + "cfgBarrelTrackCuts": "jpsiPID1", + "cfgMuonCuts": "muonQualityCuts,muonTightQualityCutsForTests", + "cfgAddEventHistogram": "triggerall,cent,mc", + "cfgAddTrackHistogram": "dca,its,tpcpid,tofpid,mc", + "cfgAddMuonHistogram": "muon,mc", + "cfgAddMCTruthHistogram": "", + "cfgBarrelLowPt": "1.0", + "cfgMuonLowPt": "1.0", + "cfgMinTpcSignal": "30", + "cfgMaxTpcSignal": "300", + "cfgMCsignals": "eFromJpsi,muFromJpsi,Jpsi,phiMeson", + "cfgIsRun2": "true", + "cfgQA": "true", + "cfgDetailedQA": "true", + "cfgIsAmbiguous": "false", + "processFull": "false", + "processFullWithCov": "false", + "processBarrelOnly": "false", + "processBarrelOnlyWithMults": "false", + "processBarrelOnlyWithCent": "false", + "processBarrelOnlyWithCentAndMults": "false", + "processBarrelOnlyWithCov": "false", + "processBarrelOnlyWithDalitzBits": "false", + "processMuonOnly": "false", + "processMuonOnlyWithCov": "false", + "processMuonOnlyWithCent": "false", + "processAmbiguousMuonOnly": "false", + "processAmbiguousMuonOnlyWithCov": "false", + "processAmbiguousBarrelOnly": "false", + "processOnlyBCs": "true" + }, + "internal-dpl-aod-global-analysis-file-sink": "", + "internal-dpl-aod-writer": "" +} diff --git a/Tutorials/PWGDQ/configTableMakerMCRun3.json b/Tutorials/PWGDQ/configTableMakerMCRun3.json new file mode 100644 index 00000000000..70db380d19d --- /dev/null +++ b/Tutorials/PWGDQ/configTableMakerMCRun3.json @@ -0,0 +1,220 @@ +{ + "internal-dpl-clock": "", + "internal-dpl-aod-reader": { + "time-limit": "0", + "orbit-offset-enumeration": "0", + "orbit-multiplier-enumeration": "0", + "start-value-enumeration": "0", + "end-value-enumeration": "-1", + "step-value-enumeration": "1", + "aod-file": "AO2D.root" + }, + "internal-dpl-aod-spawner": "", + "internal-dpl-aod-index-builder": "", + "timestamp-task": { + "verbose": "false", + "rct-path": "RCT/Info/RunInformation", + "orbit-reset-path": "CTP/Calib/OrbitReset", + "ccdb-url": "http://alice-ccdb.cern.ch", + "isRun2MC": "false" + }, + "event-selection-task": { + "syst": "PbPb", + "muonSelection": "0", + "customDeltaBC": "300", + "isMC": "true", + "processRun2": "false", + "processRun3": "true" + }, + "bc-selection-task": { + "triggerBcShift": "999", + "processRun2": "false", + "processRun3": "true" + }, + "track-selection": { + "isRun3": "true", + "produceFBextendedTable": "false", + "compatibilityIU": "false", + "itsMatching": "1", + "ptMin": "0.1", + "ptMax": "1e+10", + "etaMin": "-0.8", + "etaMax": "0.8" + }, + "track-propagation": { + "ccdb-url": "http://alice-ccdb.cern.ch", + "lutPath": "GLO/Param/MatLUT", + "geoPath": "GLO/Config/GeometryAligned", + "grpmagPath": "GLO/Config/GRPMagField", + "mVtxPath": "GLO/Calib/MeanVertex", + "processStandard": "false", + "processCovariance": "true" + }, + "track-extension": { + "compatibilityIU": "false", + "processRun2": "false", + "processRun3": "true" + }, + "multiplicity-table": { + "doVertexZeq": "1", + "processRun2": "false", + "processRun3": "true" + }, + "centrality-table": { + "estRun2V0M": "-1", + "estRun2SPDtks": "-1", + "estRun2SPDcls": "-1", + "estRun2CL0": "-1", + "estRun2CL1": "-1", + "estFV0A": "-1", + "estFT0M": "-1", + "estFT0A": "-1", + "estFT0C": "-1", + "estFDDM": "-1", + "estNTPV": "-1", + "ccdburl": "http://alice-ccdb.cern.ch", + "ccdbpath": "Centrality/Estimators", + "doNotCrashOnNull": "false", + "processRun2": "false", + "processRun3": "true", + "genname": "" + }, + "tof-pid": { + "param-file": "", + "param-sigma": "TOFResoParams", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "passName": "", + "ccdb-timestamp": "-1", + "enableTimeDependentResponse": "false", + "useParamCollection": "false", + "fatalOnPassNotAvailable": "true", + "pid-el": "-1", + "pid-mu": "-1", + "pid-pi": "-1", + "pid-ka": "-1", + "pid-pr": "-1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1", + "processWSlice": "true", + "processWoSlice": "false" + }, + "tof-pid-full": { + "param-file": "", + "param-sigma": "TOFResoParams", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "passName": "", + "ccdb-timestamp": "-1", + "enableTimeDependentResponse": "false", + "useParamCollection": "false", + "fatalOnPassNotAvailable": "true", + "pid-el": "1", + "pid-mu": "1", + "pid-pi": "1", + "pid-ka": "1", + "pid-pr": "1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1", + "processWSlice": "true", + "processWoSlice": "false", + "processWoSliceDev": "false" + }, + "tpc-pid-full": { + "param-file": "", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TPC/Response", + "ccdb-timestamp": "0", + "useNetworkCorrection": "false", + "autofetchNetworks": "true", + "networkPathLocally": "network.onnx", + "networkPathCCDB": "Analysis/PID/TPC/ML", + "enableNetworkOptimizations": "true", + "networkSetNumThreads": "0", + "pid-el": "1", + "pid-mu": "1", + "pid-pi": "1", + "pid-ka": "1", + "pid-pr": "1", + "pid-de": "-1", + "pid-tr": "-1", + "pid-he": "-1", + "pid-al": "-1" + }, + "tof-event-time": { + "minMomentum": "0.5", + "maxMomentum": "2.0", + "maxEvTimeTOF": "100000.0", + "param-file": "", + "param-sigma": "TOFReso", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdbPath": "Analysis/PID/TOF", + "ccdb-timestamp": "-1", + "processRun2": "false", + "processNoFT0": "true", + "processFT0": "false", + "processOnlyFT0": "false" + }, + "tof-signal": { + "processRun3": "true", + "processRun2": "false" + }, + "tof-pid-beta": { + "tof-expreso": "80" + }, + "dalitz-pairing": { + "cfgEventCuts": "eventStandard", + "cfgDalitzTrackCuts": "", + "cfgDalitzPairCuts": "", + "cfgAddTrackHistogram": "", + "cfgQA": "true", + "cfgBarrelLowPIN": "0.1", + "cfgEtaCut": "0.9", + "cfgTPCNSigElLow": "-3", + "cfgTPCNSigElHigh": "3", + "ccdb-url": "http://alice-ccdb.cern.ch", + "ccdb-path-tpc": "Users/i/iarsene/Calib/TPCpostCalib", + "cfgTPCpostCalib": "false", + "processFullTracks": "true", + "processDummy": "false" + }, + "table-maker-m-c": { + "cfgEventCuts": "eventStandardNoINT7", + "cfgBarrelTrackCuts": "jpsiO2MCdebugCuts2,jpsiO2MCdebugCuts3,jpsiO2MCdebugCuts,kaonPID2", + "cfgMuonCuts": "muonQualityCuts,muonTightQualityCutsForTests", + "cfgAddEventHistogram": "triggerall,cent,mc", + "cfgAddTrackHistogram": "dca,its,tpcpid,tofpid,mc", + "cfgAddMuonHistogram": "muon,mc", + "cfgAddMCTruthHistogram": "", + "cfgBarrelLowPt": "0.5", + "cfgMuonLowPt": "0.5", + "cfgMinTpcSignal": "30", + "cfgMaxTpcSignal": "300", + "cfgMCsignals": "electronPrimary,eFromJpsi,muFromJpsi,eFromLMeeLF,LMeeLF,Jpsi", + "cfgIsRun2": "false", + "cfgQA": "true", + "cfgDetailedQA": "false", + "cfgIsAmbiguous": "false", + "processFull": "false", + "processFullWithCov": "false", + "processBarrelOnly": "false", + "processBarrelOnlyWithMults": "false", + "processBarrelOnlyWithCent": "false", + "processBarrelOnlyWithCentAndMults": "false", + "processBarrelOnlyWithCov": "false", + "processBarrelOnlyWithDalitzBits": "false", + "processMuonOnly": "false", + "processMuonOnlyWithCov": "false", + "processMuonOnlyWithCent": "false", + "processAmbiguousMuonOnly": "false", + "processAmbiguousMuonOnlyWithCov": "false", + "processAmbiguousBarrelOnly": "false", + "processOnlyBCs": "true" + }, + "internal-dpl-aod-global-analysis-file-sink": "", + "internal-dpl-aod-writer": "" +} diff --git a/Tutorials/PWGDQ/readerConfiguration_dileptonMC.json b/Tutorials/PWGDQ/readerConfiguration_dileptonMC.json new file mode 100644 index 00000000000..8bc844aa0f5 --- /dev/null +++ b/Tutorials/PWGDQ/readerConfiguration_dileptonMC.json @@ -0,0 +1,49 @@ +{ + "InputDirector": { + "debugmode": true, + "InputDescriptors": [ + { + "table": "AOD/REDUCEDEVENT/0", + }, + { + "table": "AOD/REEXTENDED/0", + }, + { + "table": "AOD/REVTXCOV/0", + }, + { + "table": "AOD/RTMUON/0", + }, + { + "table": "AOD/RTMUONEXTRA/0", + }, + { + "table": "AOD/RTMUONCOV/0", + }, + { + "table": "AOD/REDUCEDMCEVENT/0", + }, + { + "table": "AOD/REDUCEDMCTRACK/0", + }, + { + "table": "AOD/RTMUONSLABELS/0", + }, + { + "table": "AOD/REMCCOLLBL/0", + }, + { + "table": "AOD/RTDILEPTON/0", + }, + { + "table": "AOD/RTDILEPTONEXTRA/0", + }, + { + "table": "AOD/RTDIMUONALL/0", + }, + { + "table": "AOD/RTDILEPTONTRACK/0", + } + ] + } +} diff --git a/Tutorials/PWGDQ/readerConfiguration_dileptons.json b/Tutorials/PWGDQ/readerConfiguration_dileptons.json new file mode 100644 index 00000000000..1fb2601414e --- /dev/null +++ b/Tutorials/PWGDQ/readerConfiguration_dileptons.json @@ -0,0 +1,46 @@ +{ + "InputDirector": { + "debugmode": true, + "InputDescriptors": [ + { + "table": "AOD/REDUCEDEVENT/0", + }, + { + "table": "AOD/REEXTENDED/0", + }, + { + "table": "AOD/REVTXCOV/0", + }, + { + "table": "AOD/RTMUON/0", + }, + { + "table": "AOD/RTMUONEXTRA/0", + }, + { + "table": "AOD/RTMUONCOV/0", + }, + { + "table": "AOD/RTDILEPTON/0", + }, + { + "table": "AOD/RTDILEPTONEXTRA/0", + }, + { + "table": "AOD/RTDIMUONALL/0", + }, + { + "table": "AOD/REMC/0", + }, + { + "table": "AOD/RTMC/0", + }, + { + "table": "AOD/RTMUONSLABELS/0", + }, + { + "table": "AOD/REMCCOLLBL/0", + } + ] + } +} diff --git a/Tutorials/PWGDQ/readerConfiguration_reducedEvent.json b/Tutorials/PWGDQ/readerConfiguration_reducedEvent.json new file mode 100644 index 00000000000..69e1a200247 --- /dev/null +++ b/Tutorials/PWGDQ/readerConfiguration_reducedEvent.json @@ -0,0 +1,49 @@ +{ + "InputDirector": { + "debugmode": true, + "InputDescriptors": [ + { + "table": "AOD/REDUCEDEVENT/0", + }, + { + "table": "AOD/REEXTENDED/0", + }, + { + "table": "AOD/REVTXCOV/0", + }, + { + "table": "AOD/REQVECTOR/0", + }, + { + "table": "AOD/REDUCEDTRACK/0", + }, + { + "table": "AOD/RTBARREL/0", + }, + { + "table": "AOD/RTBARRELCOV/0", + }, + { + "table": "AOD/RTBARRELPID/0", + }, + { + "table": "AOD/RTMUON/0", + }, + { + "table": "AOD/RTMUONEXTRA/0", + }, + { + "table": "AOD/RTMUONCOV/0", + }, + { + "table": "AOD/AMBIGUOUSTRACK/0", + }, + { + "table": "AOD/AMBIGUOUSFWDTR/0", + }, + { + "table": "AOD/DALITZBITS/0", + } + ] + } +} diff --git a/Tutorials/PWGDQ/readerConfiguration_reducedEventMC.json b/Tutorials/PWGDQ/readerConfiguration_reducedEventMC.json new file mode 100644 index 00000000000..5ff8bd6065b --- /dev/null +++ b/Tutorials/PWGDQ/readerConfiguration_reducedEventMC.json @@ -0,0 +1,55 @@ +{ + "InputDirector": { + "debugmode": true, + "InputDescriptors": [ + { + "table": "AOD/REDUCEDEVENT/0", + }, + { + "table": "AOD/REEXTENDED/0", + }, + { + "table": "AOD/REVTXCOV/0", + }, + { + "table": "AOD/REMCCOLLBL/0", + }, + { + "table": "AOD/REDUCEDTRACK/0", + }, + { + "table": "AOD/RTBARREL/0", + }, + { + "table": "AOD/RTBARRELCOV/0", + }, + { + "table": "AOD/RTBARRELPID/0", + }, + { + "table": "AOD/RTBARRELLABELS/0", + }, + { + "table": "AOD/RTMUON/0", + }, + { + "table": "AOD/RTMUONEXTRA/0", + }, + { + "table": "AOD/RTMUONCOV/0", + }, + { + "table": "AOD/REDUCEDMCEVENT/0", + }, + { + "table": "AOD/REDUCEDMCTRACK/0", + }, + { + "table": "AOD/RTMUONSLABELS/0", + }, + { + "table": "AOD/DALITZBITS/0", + } + ] + } +} diff --git a/Tutorials/PWGDQ/runAnalysis.py b/Tutorials/PWGDQ/runAnalysis.py new file mode 100644 index 00000000000..c12f46d2efa --- /dev/null +++ b/Tutorials/PWGDQ/runAnalysis.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 + +from ast import parse +import sys +import json +import os +import argparse + +parser = argparse.ArgumentParser(description='Arguments to pass') +parser.add_argument('cfgFileName', metavar='text', default='config.json', help='config file name') +parser.add_argument('-runData', help="Run over data", action="store_true") +parser.add_argument('-runMC', help="Run over MC", action="store_true") +parser.add_argument('--arg', help='Configuration argument') +parser.add_argument("--aod-writer-json", help = "Name of the json configuration file", action = "store", type = str) + +extrargs = parser.parse_args() + +# Make some checks on provided arguments +if len(sys.argv) < 3: + print("ERROR: Invalid syntax! The command line should look like this:") + print(" ./runAnalysis.py [task:param:value] ...") + sys.exit() + +# Load the configuration file provided as the first parameter +config = {} +with open(extrargs.cfgFileName) as configFile: + config = json.load(configFile) + +# Check whether we run over data or MC +if not (extrargs.runMC or extrargs.runData): + print("ERROR: You have to specify either runMC or runData !") + sys.exit() + +runOverMC = False +if (extrargs.runMC): + runOverMC = True + +print("runOverMC ",runOverMC) + +if extrargs.arg != "" and extrargs.arg is not None: + args = [line.split(':') for line in extrargs.arg.split(',') if line] + for threeIndex in args: + if len(threeIndex) != 3: + print("ERROR: Wrong parameter syntax for --arg: ", threeIndex, " in ", extrargs.arg) + print("Correct syntax: task:param:value,task:param:value ... ") + print("Example: --arg analysis-same-event-pairing:processDecayToEESkimmed:true") + sys.exit() + for arg in args: + config[arg[0]][arg[1]] = arg[2] + +taskNameInConfig = "analysis-event-selection" +taskNameInCommandLine = "o2-analysis-dq-table-reader" +if runOverMC == True: + taskNameInCommandLine = "o2-analysis-dq-efficiency" + +if not taskNameInConfig in config: + print("ERROR: Task to be run not found in the configuration file!") + sys.exit() + +# Write the updated configuration file into a temporary file +updatedConfigFileName = "tempConfig.json" +with open(updatedConfigFileName,'w') as outputFile: + json.dump(config, outputFile, indent = 2) + +commandToRun = (taskNameInCommandLine + " --configuration json://" + updatedConfigFileName + " -b") +if extrargs.aod_writer_json: + commandToRun = (taskNameInCommandLine + " --configuration json://" + updatedConfigFileName + " --aod-writer-json " + extrargs.aod_writer_json + " -b") + +print("====================================================================================================================") +print("Command to run:") +print(commandToRun) +print("====================================================================================================================") +os.system(commandToRun) diff --git a/Tutorials/PWGDQ/runFilterPP.py b/Tutorials/PWGDQ/runFilterPP.py new file mode 100755 index 00000000000..5f2ee554818 --- /dev/null +++ b/Tutorials/PWGDQ/runFilterPP.py @@ -0,0 +1,80 @@ +#!/usr/bin/env python3 + +import argparse +import sys +import json +import os + +parser = argparse.ArgumentParser(description='Arguments to pass') +parser.add_argument('cfgFileName', metavar='text', default='config.json', help='config file name') +parser.add_argument('--arg', help='Configuration argument') +parser.add_argument('--add_mc_conv', help="Add the converter from mcparticle to mcparticle+001", action="store_true") +parser.add_argument('--add_fdd_conv', help="Add the fdd converter", action="store_true") +parser.add_argument('--add_track_prop', help="Add track propagation to the innermost layer (TPC or ITS)", action="store_true") +parser.add_argument("--add_col_conv", help = "Add the converter from collision to collision+001", action = "store_true") +extrargs = parser.parse_args() + +commonDeps = ["o2-analysis-timestamp", "o2-analysis-event-selection", "o2-analysis-multiplicity-table", "o2-analysis-trackselection", "o2-analysis-track-propagation", "o2-analysis-pid-tof-base", "o2-analysis-pid-tof", "o2-analysis-pid-tof-full", "o2-analysis-pid-tof-beta", "o2-analysis-pid-tpc-full", "o2-analysis-fwdtrackextension"] + +# Make some checks on provided arguments +if len(sys.argv) < 2: + print("ERROR: Invalid syntax! The command line should look like this:") + print(" ./runFilterPP.py [task:param:value] ...") + sys.exit() + +# Load the configuration file provided as the first parameter +config = {} +with open(extrargs.cfgFileName) as configFile: + config = json.load(configFile) + +if extrargs.arg != "" and extrargs.arg is not None: + args = [line.split(':') for line in extrargs.arg.split(',') if line] + for threeIndex in args: + if len(threeIndex) != 3: + print("ERROR: Wrong parameter syntax for --arg: ", threeIndex, " in ", extrargs.arg) + print("Correct syntax: task:param:value,task:param:value ... ") + print("Example: --arg d-q-barrel-track-selection:cfgWithQA:true") + sys.exit() + for arg in args: + config[arg[0]][arg[1]] = arg[2] + + +taskNameInConfig = "d-q-filter-p-p-task" +taskNameInCommandLine = "o2-analysis-dq-filter-pp" + +if not taskNameInConfig in config: + print("ERROR: Task to be run not found in the configuration file!") + sys.exit() + +# Write the updated configuration file into a temporary file +updatedConfigFileName = "tempConfig.json" +with open(updatedConfigFileName,'w') as outputFile: + json.dump(config, outputFile, indent = 2) + +# Check which dependencies need to be run +depsToRun = {} +for dep in commonDeps: + depsToRun[dep] = 1 + +commandToRun = taskNameInCommandLine + " --configuration json://" + updatedConfigFileName + " --severity error --shm-segment-size 12000000000 -b" +for dep in depsToRun.keys(): + commandToRun += " | " + dep + " --configuration json://" + updatedConfigFileName + " -b" + +if extrargs.add_mc_conv: + commandToRun += " | o2-analysis-mc-converter --configuration json://" + updatedConfigFileName + " -b" + +if extrargs.add_fdd_conv: + commandToRun += " | o2-analysis-fdd-converter --configuration json://" + updatedConfigFileName + " -b" + +if extrargs.add_track_prop: + commandToRun += " | o2-analysis-track-propagation --configuration json://" + updatedConfigFileName + " -b" + +if extrargs.add_col_conv: + commandToRun += " | o2-analysis-collision-converter --configuration json://" + updatedConfigFileName + " -b" + +print("====================================================================================================================") +print("Command to run:") +print(commandToRun) +print("====================================================================================================================") +os.system(commandToRun) + diff --git a/Tutorials/PWGDQ/runTableMaker.py b/Tutorials/PWGDQ/runTableMaker.py new file mode 100755 index 00000000000..548501ed066 --- /dev/null +++ b/Tutorials/PWGDQ/runTableMaker.py @@ -0,0 +1,267 @@ +#!/usr/bin/env python3 + +from ast import parse +import sys +import json +import os +import argparse + +parser = argparse.ArgumentParser(description='Arguments to pass') +parser.add_argument('cfgFileName', metavar='text', default='config.json', help='config file name') +parser.add_argument('-runData', help="Run over data", action="store_true") +parser.add_argument('-runMC', help="Run over MC", action="store_true") +parser.add_argument('--arg', help='Configuration argument') +parser.add_argument('--add_mc_conv', help="Add the converter from mcparticle to mcparticle+001", action="store_true") +parser.add_argument('--add_fdd_conv', help="Add the fdd converter", action="store_true") +parser.add_argument('--add_track_prop', help="Add track propagation to the innermost layer (TPC or ITS)", action="store_true") +parser.add_argument("--add_weakdecay_ind", help = "Add Converts V0 and cascade version 000 to 001", action = "store_true") +parser.add_argument("--add_col_conv", help = "Add the converter from collision to collision+001", action = "store_true") +extrargs = parser.parse_args() + +commonDeps = ["o2-analysis-timestamp", "o2-analysis-event-selection", "o2-analysis-multiplicity-table"] +barrelDeps = ["o2-analysis-trackselection", "o2-analysis-trackextension","o2-analysis-pid-tof-base", "o2-analysis-pid-tof", "o2-analysis-pid-tof-full", "o2-analysis-pid-tof-beta", "o2-analysis-pid-tpc-full"] +#barrelDeps = ["o2-analysis-trackselection","o2-analysis-pid-tof-base", "o2-analysis-pid-tof", "o2-analysis-pid-tof-full", "o2-analysis-pid-tof-beta", "o2-analysis-pid-tpc-full"] +muonDeps = ["o2-analysis-fwdtrackextension"] +specificDeps = { + "processFull" : [], + "processFullWithCov" : [], + "processFullWithCovAndEventFilter" : ["o2-analysis-dq-filter-pp","o2-analysis-fwdtrackextension"], + "processFullWithCent" : ["o2-analysis-centrality-table"], + "processFullWithCentAndMults" : ["o2-analysis-centrality-table"], + "processBarrelOnly" : [], + "processBarrelOnlyWithCov" : [], + "processBarrelOnlyWithV0Bits" : ["o2-analysis-dq-v0-selector"], + "processBarrelOnlyWithDalitzBits" : ["o2-analysis-dq-dalitz-selection"], + "processBarrelOnlyWithEventFilter" : ["o2-analysis-dq-filter-pp","o2-analysis-fwdtrackextension"], + "processBarrelOnlyWithMults" : [], + "processBarrelOnlyWithCovAndEventFilter" : ["o2-analysis-dq-filter-pp","o2-analysis-fwdtrackextension"], + "processBarrelOnlyWithQvector" : ["o2-analysis-centrality-table", "o2-analysis-dq-flow"], + "processBarrelOnlyWithCent" : ["o2-analysis-centrality-table"], + "processBarrelOnlyWithCentAndMults" : ["o2-analysis-centrality-table"], + "processMuonOnly" : [], + "processMuonOnlyWithCov" : [], + "processMuonOnlyWithCent" : ["o2-analysis-centrality-table"], + "processMuonOnlyWithMults" : [], + "processMuonOnlyWithCentAndMults" : ["o2-analysis-centrality-table"], + "processMuonOnlyWithCovAndCent" : ["o2-analysis-centrality-table"], + "processMuonOnlyWithQvector" : ["o2-analysis-centrality-table", "o2-analysis-dq-flow"], + "processMuonOnlyWithFilter" : ["o2-analysis-dq-filter-pp"], + "processAmbiguousMuonOnly" : [], + "processAmbiguousMuonOnlyWithCov" : [], + "processAmbiguousBarrelOnly" : [] + # "processFullWithCentWithV0Bits": ["o2-analysis-centrality-table","o2-analysis-dq-v0-selector", "o2-analysis-weak-decay-indices"], + # "processFullWithEventFilterWithV0Bits": ["o2-analysis-dq-filter-pp","o2-analysis-dq-v0-selector", "o2-analysis-weak-decay-indices"], +} + +# Definition of all the tables we may write +tables = { + "ReducedEvents" : {"table": "AOD/REDUCEDEVENT/0"}, + "ReducedEventsExtended" : {"table": "AOD/REEXTENDED/0"}, + "ReducedEventsVtxCov" : {"table": "AOD/REVTXCOV/0"}, + "ReducedEventsQvector" : {"table": "AOD/REQVECTOR/0"}, + "ReducedMCEventLabels" : {"table": "AOD/REMCCOLLBL/0"}, + "ReducedMCEvents" : {"table": "AOD/REDUCEDMCEVENT/0"}, + "ReducedTracks" : {"table": "AOD/REDUCEDTRACK/0"}, + "ReducedTracksBarrel" : {"table": "AOD/RTBARREL/0"}, + "ReducedTracksBarrelCov" : {"table": "AOD/RTBARRELCOV/0"}, + "ReducedTracksBarrelPID" : {"table": "AOD/RTBARRELPID/0"}, + "ReducedTracksBarrelLabels" : {"table": "AOD/RTBARRELLABELS/0"}, + "ReducedMCTracks" : {"table": "AOD/REDUCEDMCTRACK/0"}, + "ReducedMuons" : {"table": "AOD/RTMUON/0"}, + "ReducedMuonsExtra" : {"table": "AOD/RTMUONEXTRA/0"}, + "ReducedMuonsCov" : {"table": "AOD/RTMUONCOV/0"}, + "ReducedMuonsLabels" : {"table": "AOD/RTMUONSLABELS/0"}, + "AmbiguousTracksMid" : {"table": "AOD/AMBIGUOUSTRACK/0"}, + "AmbiguousTracksFwd" : {"table": "AOD/AMBIGUOUSFWDTR/0"}, + "DalitzBits" : {"table": "AOD/DALITZBITS/0"} +} +# Tables to be written, per process function +commonTables = ["ReducedEvents", "ReducedEventsExtended", "ReducedEventsVtxCov"] +barrelCommonTables = ["ReducedTracks","ReducedTracksBarrel","ReducedTracksBarrelPID"] +muonCommonTables = ["ReducedMuons", "ReducedMuonsExtra"] +specificTables = { + "processFull": [], + "processFullWithCov": ["ReducedTracksBarrelCov", "ReducedMuonsCov"], + "processFullWithCovAndEventFilter": ["ReducedTracksBarrelCov", "ReducedMuonsCov"], + "processFullWithCent": [], + "processFullWithCentAndMults": [], + "processBarrelOnly": [], + "processBarrelOnlyWithCov": ["ReducedTracksBarrelCov"], + "processBarrelOnlyWithV0Bits": [], + "processBarrelOnlyWithDalitzBits": ["DalitzBits"], + "processBarrelOnlyWithQvector": ["ReducedEventsQvector"], + "processBarrelOnlyWithEventFilter": [], + "processBarrelOnlyWithMults": [], + "processBarrelOnlyWithCovAndEventFilter": ["ReducedTracksBarrelCov"], + "processBarrelOnlyWithCent": [], + "processBarrelOnlyWithCentAndMults": [], + "processMuonOnly": [], + "processMuonOnlyWithCov": ["ReducedMuonsCov"], + "processMuonOnlyWithCent": [], + "processMuonOnlyWithMults": [], + "processMuonOnlyWithCentAndMults": [], + "processMuonOnlyWithCovAndCent": ["ReducedMuonsCov"], + "processMuonOnlyWithQvector": ["ReducedEventsQvector"], + "processMuonOnlyWithFilter": [], + "processAmbiguousMuonOnly": ["AmbiguousTracksFwd"], + "processAmbiguousMuonOnlyWithCov": ["AmbiguousTracksFwd", "ReducedMuonsCov"], + "processAmbiguousBarrelOnly": ["AmbiguousTracksMid"] +} + +# Make some checks on provided arguments +if len(sys.argv) < 3: + print("ERROR: Invalid syntax! The command line should look like this:") + print(" ./runTableMaker.py [task:param:value] ...") + sys.exit() + +# Load the configuration file provided as the first parameter +config = {} +with open(extrargs.cfgFileName) as configFile: + config = json.load(configFile) + +# Check whether we run over data or MC +if not (extrargs.runMC or extrargs.runData): + print("ERROR: You have to specify either runMC or runData !") + sys.exit() + +runOverMC = False +if (extrargs.runMC): + runOverMC = True + +print("runOverMC ",runOverMC) + +# Delete trackextension dependency if track-propagation dependency provided (for compatibility) +if extrargs.add_track_prop: + barrelDeps.remove("o2-analysis-trackextension") + +if extrargs.arg != "" and extrargs.arg is not None: + args = [line.split(':') for line in extrargs.arg.split(',') if line] + for threeIndex in args: + if len(threeIndex) != 3: + print("ERROR: Wrong parameter syntax for --arg: ", threeIndex, " in ", extrargs.arg) + print("Correct syntax: task:param:value,task:param:value ... ") + print("Example: --arg table-maker:processBarrelOnly:true") + sys.exit() + for arg in args: + config[arg[0]][arg[1]] = arg[2] + +taskNameInConfig = "table-maker" +taskNameInCommandLine = "o2-analysis-dq-table-maker" +if runOverMC == True: + taskNameInConfig = "table-maker-m-c" + taskNameInCommandLine = "o2-analysis-dq-table-maker-mc" + +if not taskNameInConfig in config: + print("ERROR: Task to be run not found in the configuration file!") + sys.exit() + +# Write the updated configuration file into a temporary file +updatedConfigFileName = "tempConfig.json" +with open(updatedConfigFileName,'w') as outputFile: + json.dump(config, outputFile, indent = 2) + +# Check which dependencies need to be run +depsToRun = {} +for dep in commonDeps: + depsToRun[dep] = 1 + +for processFunc in specificDeps.keys(): + if not processFunc in config[taskNameInConfig].keys(): + continue + if config[taskNameInConfig][processFunc] == "true": + if "processFull" in processFunc or "processBarrel" in processFunc or "processAmbiguousBarrel" in processFunc: + for dep in barrelDeps: + depsToRun[dep] = 1 + if "processFull" in processFunc or "processMuon" in processFunc or "processAmbiguousMuon" in processFunc: + for dep in muonDeps: + depsToRun[dep] = 1 + for dep in specificDeps[processFunc]: + depsToRun[dep] = 1 + +# Check which tables are required in the output +tablesToProduce = {} +for table in commonTables: + tablesToProduce[table] = 1 + +if runOverMC == True: + tablesToProduce["ReducedMCEvents"] = 1 + tablesToProduce["ReducedMCEventLabels"] = 1 + +for processFunc in specificDeps.keys(): + if not processFunc in config[taskNameInConfig].keys(): + continue + if config[taskNameInConfig][processFunc] == "true": + print("processFunc ========") + print(processFunc) + if "processFull" in processFunc or "processBarrel" in processFunc: + print("common barrel tables==========") + for table in barrelCommonTables: + print(table) + tablesToProduce[table] = 1 + if runOverMC == True: + tablesToProduce["ReducedTracksBarrelLabels"] = 1 + if "processFull" in processFunc or "processMuon" in processFunc: + print("common muon tables==========") + for table in muonCommonTables: + print(table) + tablesToProduce[table] = 1 + if runOverMC == True: + tablesToProduce["ReducedMuonsLabels"] = 1 + if runOverMC == True: + tablesToProduce["ReducedMCTracks"] = 1 + print("specific tables==========") + for table in specificTables[processFunc]: + print(table) + tablesToProduce[table] = 1 + +# Generate the aod-writer output descriptor json file +writerConfig = {} +writerConfig["OutputDirector"] = { + "debugmode": True, + "resfile": "reducedAod", + "resfilemode": "RECREATE", + "ntfmerge": 1, + "OutputDescriptors": [] +} +iTable = 0 +for table in tablesToProduce.keys(): + writerConfig["OutputDirector"]["OutputDescriptors"].insert(iTable, tables[table]) + iTable += 1 + +writerConfigFileName = "aodWriterTempConfig.json" +with open(writerConfigFileName,'w') as writerConfigFile: + json.dump(writerConfig, writerConfigFile, indent = 2) + +print(writerConfig) +#sys.exit() + +commandToRun = taskNameInCommandLine + " --configuration json://" + updatedConfigFileName + " --severity error --shm-segment-size 12000000000 --aod-writer-json " + writerConfigFileName + " -b" +for dep in depsToRun.keys(): + commandToRun += " | " + dep + " --configuration json://" + updatedConfigFileName + " -b" + +if extrargs.add_mc_conv: + commandToRun += " | o2-analysis-mc-converter --configuration json://" + updatedConfigFileName + " -b" + +if extrargs.add_fdd_conv: + commandToRun += " | o2-analysis-fdd-converter --configuration json://" + updatedConfigFileName + " -b" + +if extrargs.add_track_prop: + commandToRun += " | o2-analysis-track-propagation --configuration json://" + updatedConfigFileName + " -b" + +if extrargs.add_weakdecay_ind: + commandToRun += " | o2-analysis-weak-decay-indices --configuration json://" + updatedConfigFileName + " -b" + +if extrargs.add_col_conv: + commandToRun += " | o2-analysis-collision-converter --configuration json://" + updatedConfigFileName + " -b" + +print("====================================================================================================================") +print("Command to run:") +print(commandToRun) +print("====================================================================================================================") +print("Tables to produce:") +print(tablesToProduce.keys()) +print("====================================================================================================================") +#sys.exit() + +os.system(commandToRun) + diff --git a/Tutorials/PWGDQ/writerConfiguration_dileptonMC.json b/Tutorials/PWGDQ/writerConfiguration_dileptonMC.json new file mode 100644 index 00000000000..b46bc665cd8 --- /dev/null +++ b/Tutorials/PWGDQ/writerConfiguration_dileptonMC.json @@ -0,0 +1,52 @@ +{ + "OutputDirector": { + "debugmode": true, + "resfile": "dileptonAOD", + "resfilemode": "RECREATE", + "ntfmerge": 1, + "OutputDescriptors": [ + { + "table": "AOD/REDUCEDEVENT/0" + }, + { + "table": "AOD/REEXTENDED/0" + }, + { + "table": "AOD/REVTXCOV/0" + }, + { + "table": "AOD/RTMUON/0" + }, + { + "table": "AOD/RTMUONEXTRA/0" + }, + { + "table": "AOD/RTMUONCOV/0" + }, + { + "table": "AOD/REDUCEDMCEVENT/0" + }, + { + "table": "AOD/REDUCEDMCTRACK/0" + }, + { + "table": "AOD/RTMUONSLABELS/0" + }, + { + "table": "AOD/REMCCOLLBL/0" + }, + { + "table": "AOD/RTDILEPTON/0" + }, + { + "table": "AOD/RTDILEPTONEXTRA/0" + }, + { + "table": "AOD/RTDIMUONALL/0" + }, + { + "table": "AOD/RTDILEPTONTRACK/0" + } + ] + } +} diff --git a/Tutorials/PWGDQ/writerConfiguration_dileptons.json b/Tutorials/PWGDQ/writerConfiguration_dileptons.json new file mode 100644 index 00000000000..38e1d06a599 --- /dev/null +++ b/Tutorials/PWGDQ/writerConfiguration_dileptons.json @@ -0,0 +1,37 @@ +{ + "OutputDirector": { + "debugmode": true, + "resfile": "dileptonAOD", + "resfilemode": "RECREATE", + "ntfmerge": 1, + "OutputDescriptors": [ + { + "table": "AOD/REDUCEDEVENT/0" + }, + { + "table": "AOD/REEXTENDED/0" + }, + { + "table": "AOD/REVTXCOV/0" + }, + { + "table": "AOD/REDUCEDTRACK/0" + }, + { + "table": "AOD/RTBARREL/0" + }, + { + "table": "AOD/RTBARRELPID/0" + }, + { + "table": "AOD/RTDILEPTON/0" + }, + { + "table": "AOD/RTDILEPTONEXTRA/0" + }, + { + "table": "AOD/RTDILEPTONFLOW/0" + } + ] + } +}