diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index d8b1525..27cc227 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -36,6 +36,10 @@ jobs: - uses: actions/checkout@v2 with: fetch-depth: 0 + - name: Download nlohmann/json single header + run: | + mkdir -p /usr/include/nlohmann + curl -Lo /usr/include/nlohmann/json.hpp https://github.com/nlohmann/json/releases/download/v3.11.3/json.hpp - name: Configure CMake run: cmake -B ${{github.workspace}}/build -DPFSimple_BUNDLED_AT=ON -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_CXX_STANDARD=17 - name: Build diff --git a/at_interface/CMakeLists.txt b/at_interface/CMakeLists.txt index fb94d78..e3df0bc 100644 --- a/at_interface/CMakeLists.txt +++ b/at_interface/CMakeLists.txt @@ -21,11 +21,6 @@ target_link_libraries(KFMan ${ROOT_LIBRARIES} AnalysisTreeBase AnalysisTreeInfra add_dependencies(KFMan KFParticleSimple) add_target_property(KFMan COMPILE_FLAGS "-DDO_TPCCATRACKER_EFF_PERFORMANCE -DNonhomogeneousField -DCBM -DUSE_TIMERS") -add_executable(main main.cpp) -add_dependencies(main KFMan) -add_target_property(main COMPILE_FLAGS "-DDO_TPCCATRACKER_EFF_PERFORMANCE -DNonhomogeneousField -DCBM -DUSE_TIMERS") -target_link_libraries(main KFMan KFParticleSimple KFParticleInterface KFParticle Vc) - add_executable(main_json main_json.cpp) add_dependencies(main_json KFMan) add_target_property(main_json COMPILE_FLAGS "-DDO_TPCCATRACKER_EFF_PERFORMANCE -DNonhomogeneousField -DCBM -DUSE_TIMERS") @@ -55,4 +50,4 @@ install( lib OPTIONAL ) -install (TARGETS main main_json RUNTIME DESTINATION bin) +install (TARGETS main_json RUNTIME DESTINATION bin) diff --git a/at_interface/example_parfiles/parfile2.txt b/at_interface/example_parfiles/parfile2.txt deleted file mode 100644 index e543d5b..0000000 --- a/at_interface/example_parfiles/parfile2.txt +++ /dev/null @@ -1,54 +0,0 @@ -## Decay -3122, pdg mother -Lambda name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -2, number of daughters --211, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -2212, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 --1, cut cos to PV 1 --1, cut cos to PV 2 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 -3.0, cut chi2geo --1, cut cosopen --------------------------------------------------------------------------- -## Geometrical cuts for mother --1, cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree --------------------------------------------------------------------------- -## Pid method (for pid mode 2, 3 & 4 analyistree from pid-framework is needed) -1, pid mode: =0: no pid; =1: mc pid; =2: rec pid (default); =3: rec pid (max. purity & purity > min. purity); =4 (purity > min. purity) --------------------------------------------------------------------------- -## Minimum required purities for TOF pid for pid mode = 3 & 4 --1, purity tof for all daughter species (will be overwritten by specific purity, if specific purity != -1) --1, specific purity tof for protons (optional, if = -1: purity for all species will be used) --1, specific purity tof for pions (optional, if = -1: purity for all species will be used) --1, specific purity tof for kaons (optional, if = -1: purity for all species will be used) --1, specific purity tof for deuterons (optional, if = -1: purity for all species will be used) --1, specific purity tof for background (optional, if = -1: purity for all species will be used) --------------------------------------------------------------------------- -## Input / Output information -rTree treename in input analysistree -VtxTracks branchname for reconstructed tracks in input analysistree -0, write detailed BG information --1, number of events to be processed (-1 = all events) -1, make plain tree: =1; make no plain tree: =0 diff --git a/at_interface/example_parfiles/parfile2_add.txt b/at_interface/example_parfiles/parfile2_add.txt deleted file mode 100644 index e58f991..0000000 --- a/at_interface/example_parfiles/parfile2_add.txt +++ /dev/null @@ -1,37 +0,0 @@ -## Decay -310, pdg mother -Kshort name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -2, number of daughters --211, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -211, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 --1, cut cos to PV 1 --1, cut cos to PV 2 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 -3.0, cut chi2geo --1, cut cosopen --------------------------------------------------------------------------- -## Geometrical cuts for mother -5.0, cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree - diff --git a/at_interface/example_parfiles/parfile2_add_omega.txt b/at_interface/example_parfiles/parfile2_add_omega.txt deleted file mode 100644 index 2d2e4f4..0000000 --- a/at_interface/example_parfiles/parfile2_add_omega.txt +++ /dev/null @@ -1,36 +0,0 @@ -## Decay -3334, pdg mother -Omega name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -2, number of daughters --321, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -3122, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 --1, cut chi2 to PV 2 --1, cut cos to PV 1 --1, cut cos to PV 2 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 -6.0, cut chi2geo --1, cut cosopen --------------------------------------------------------------------------- -## Geometrical cuts for mother -5.0, cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -1, transport mother to PV -0, do not write mother into output analysistree / plain tree diff --git a/at_interface/example_parfiles/parfile2_add_xi.txt b/at_interface/example_parfiles/parfile2_add_xi.txt deleted file mode 100644 index 2b13752..0000000 --- a/at_interface/example_parfiles/parfile2_add_xi.txt +++ /dev/null @@ -1,36 +0,0 @@ -## Decay -3312, pdg mother -Xi- name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -2, number of daughters --211, pdg daughter 1 --1, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -3122, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 --1, cut chi2 to PV 2 --1, cut cos to PV 1 --1, cut cos to PV 2 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 -6.0, cut chi2geo --1, cut cosopen --------------------------------------------------------------------------- -## Geometrical cuts for mother -5.0, cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -1, transport mother to PV -0, do not write mother into output analysistree / plain tree diff --git a/at_interface/example_parfiles/parfile2_add_xi_cascade.txt b/at_interface/example_parfiles/parfile2_add_xi_cascade.txt deleted file mode 100644 index b09139e..0000000 --- a/at_interface/example_parfiles/parfile2_add_xi_cascade.txt +++ /dev/null @@ -1,36 +0,0 @@ -## Decay -3312, pdg mother -Xi- name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -2, number of daughters --211, pdg daughter 1 --1, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -3122, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 --1, cut chi2 to PV 2 --1, cut cos to PV 1 --1, cut cos to PV 2 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 -6.0, cut chi2geo --1, cut cosopen --------------------------------------------------------------------------- -## Geometrical cuts for mother -5.0, cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line -3, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -1, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree diff --git a/at_interface/example_parfiles/parfile2_lambda_cascade_pidmode1.txt b/at_interface/example_parfiles/parfile2_lambda_cascade_pidmode1.txt deleted file mode 100644 index 867f3f6..0000000 --- a/at_interface/example_parfiles/parfile2_lambda_cascade_pidmode1.txt +++ /dev/null @@ -1,54 +0,0 @@ -## Decay -3122, pdg mother -Lambda name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -2, number of daughters --211, pdg daughter 1 --1, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -2212, pdg daughter 2 -1, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 --1, cut cos to PV 1 --1, cut cos to PV 2 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 -3.0, cut chi2geo --1, cut cosopen --------------------------------------------------------------------------- -## Geometrical cuts for mother -5.0, cut chi2topo --1, cut costopo -10.0, cut LdL --1, cut decaylength L --1, cut distance to PV line -3.0, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -1, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree --------------------------------------------------------------------------- -## Pid method (for pid mode 2, 3 & 4 analyistree from pid-framework is needed) -1, pid mode: =0: no pid; =1: mc pid; =2: rec pid (default); =3: rec pid (max. purity & purity > min. purity); =4 (purity > min. purity) --------------------------------------------------------------------------- -## Minimum required purities for TOF pid for pid mode = 3 & 4 --1, purity tof for all daughter species (will be overwritten by specific purity, if specific purity != -1) --1, specific purity tof for protons (optional, if = -1: purity for all species will be used) --1, specific purity tof for pions (optional, if = -1: purity for all species will be used) --1, specific purity tof for kaons (optional, if = -1: purity for all species will be used) --1, specific purity tof for deuterons (optional, if = -1: purity for all species will be used) --1, specific purity tof for background (optional, if = -1: purity for all species will be used) --------------------------------------------------------------------------- -## Input / Output information -rTree treename in input analysistree -VtxTracks branchname for reconstructed tracks in input analysistree -1, write detailed BG information --1, number of events to be processed (-1 = all events) -1, make plain tree: =1; make no plain tree: =0 diff --git a/at_interface/example_parfiles/parfile2_lambda_pidmode0.txt b/at_interface/example_parfiles/parfile2_lambda_pidmode0.txt deleted file mode 100644 index a3fd734..0000000 --- a/at_interface/example_parfiles/parfile2_lambda_pidmode0.txt +++ /dev/null @@ -1,54 +0,0 @@ -## Decay -3122, pdg mother -Lambda name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -2, number of daughters --211, pdg daughter 1 --1, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -2212, pdg daughter 2 -1, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 --1, cut cos to PV 1 --1, cut cos to PV 2 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 -3.0, cut chi2geo --1, cut cosopen --------------------------------------------------------------------------- -## Geometrical cuts for mother --1, cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree --------------------------------------------------------------------------- -## Pid method (for pid mode 2, 3 & 4 analyistree from pid-framework is needed) -0, pid mode: =0: no pid; =1: mc pid; =2: rec pid (default); =3: rec pid (max. purity & purity > min. purity); =4 (purity > min. purity) --------------------------------------------------------------------------- -## Minimum required purities for TOF pid for pid mode = 3 & 4 --1, purity tof for all daughter species (will be overwritten by specific purity, if specific purity != -1) --1, specific purity tof for protons (optional, if = -1: purity for all species will be used) --1, specific purity tof for pions (optional, if = -1: purity for all species will be used) --1, specific purity tof for kaons (optional, if = -1: purity for all species will be used) --1, specific purity tof for deuterons (optional, if = -1: purity for all species will be used) --1, specific purity tof for background (optional, if = -1: purity for all species will be used) --------------------------------------------------------------------------- -## Input / Output information -rTree treename in input analysistree -VtxTracks branchname for reconstructed tracks in input analysistree -0, write detailed BG information --1, number of events to be processed (-1 = all events) -1, make plain tree: =1; make no plain tree: =0 diff --git a/at_interface/example_parfiles/parfile2_lambda_pidmode1_optcut.txt b/at_interface/example_parfiles/parfile2_lambda_pidmode1_optcut.txt deleted file mode 100644 index f6e85f0..0000000 --- a/at_interface/example_parfiles/parfile2_lambda_pidmode1_optcut.txt +++ /dev/null @@ -1,54 +0,0 @@ -## Decay -3122, pdg mother -Lambda name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -2, number of daughters --211, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -2212, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -110.00, cut chi2 to PV 1 -26.00, cut chi2 to PV 2 --1, cut cos to PV 1 -0.99825, cut cos to PV 2 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -0.15, cut distance daughter 1 & 2 -11.0, cut chi2geo --1, cut cosopen --------------------------------------------------------------------------- -## Geometrical cuts for mother -29.0, cut chi2topo --1, cut costopo -4.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree --------------------------------------------------------------------------- -## Pid method (for pid mode 2, 3 & 4 analyistree from pid-framework is needed) -1, pid mode: =0: no pid; =1: mc pid; =2: rec pid (default); =3: rec pid (max. purity & purity > min. purity); =4 (purity > min. purity) --------------------------------------------------------------------------- -## Minimum required purities for TOF pid for pid mode = 3 & 4 --1, purity tof for all daughter species (will be overwritten by specific purity, if specific purity != -1) --1, specific purity tof for protons (optional, if = -1: purity for all species will be used) --1, specific purity tof for pions (optional, if = -1: purity for all species will be used) --1, specific purity tof for kaons (optional, if = -1: purity for all species will be used) --1, specific purity tof for deuterons (optional, if = -1: purity for all species will be used) --1, specific purity tof for background (optional, if = -1: purity for all species will be used) --------------------------------------------------------------------------- -## Input / Output information -rTree treename in input analysistree -VtxTracks branchname for reconstructed tracks in input analysistree -0, write detailed BG information --1, number of events to be processed (-1 = all events) -1, make plain tree: =1; make no plain tree: =0 diff --git a/at_interface/example_parfiles/parfile2_lambda_pidmode2.txt b/at_interface/example_parfiles/parfile2_lambda_pidmode2.txt deleted file mode 100644 index c67aca6..0000000 --- a/at_interface/example_parfiles/parfile2_lambda_pidmode2.txt +++ /dev/null @@ -1,54 +0,0 @@ -## Decay -3122 pdg mother -Lambda name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -2, number of daughters --211, pdg daughter 1 --2, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -2212, pdg daughter 2 -2, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 --1, cut cos to PV 1 --1, cut cos to PV 2 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 -3.0, cut chi2geo --1, cut cosopen --------------------------------------------------------------------------- -## Geometrical cuts for mother --1, cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree --------------------------------------------------------------------------- -## Pid method (for pid mode 2, 3 & 4 analyistree from pid-framework is needed) -2, pid mode: =0: no pid; =1: mc pid; =2: rec pid (default); =3: rec pid (max. purity & purity > min. purity); =4 (purity > min. purity) --------------------------------------------------------------------------- -## Minimum required purities for TOF pid for pid mode = 3 & 4 --1, purity tof for all daughter species (will be overwritten by specific purity, if specific purity != -1) --1, specific purity tof for protons (optional, if = -1: purity for all species will be used) --1, specific purity tof for pions (optional, if = -1: purity for all species will be used) --1, specific purity tof for kaons (optional, if = -1: purity for all species will be used) --1, specific purity tof for deuterons (optional, if = -1: purity for all species will be used) --1, specific purity tof for background (optional, if = -1: purity for all species will be used) --------------------------------------------------------------------------- -## Input / Output information -aTree treename in input analysistree -RecParticles branchname for reconstructed tracks in analyistree -0, write detailed BG information --1, number of events to be processed (-1 = all events) -1, make plain tree: =1; make no plain tree: =0 diff --git a/at_interface/example_parfiles/parfile3.txt b/at_interface/example_parfiles/parfile3.txt deleted file mode 100644 index 539faf4..0000000 --- a/at_interface/example_parfiles/parfile3.txt +++ /dev/null @@ -1,74 +0,0 @@ -## Decay -3004, pdg mother -H3L name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -3, number of daughters -2212, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) --211, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -1000010020, pdg daughter 3 -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 -10.0, cut chi2 to PV 3 --1, cut cos to PV 1 --1, cut cos to PV 2 --1, cut cos to PV 3 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -0.2, cut distance daughter 1 & 2 -0.2, cut distance SV (distance between daughter 3 and SV) -3.0, cut chi2geo SM 1 (dauther 1 & 2) --1, cut chi2geo SM 2 (dauther 1 & 3) --1, cut chi2geo SM 3 (dauther 2 & 3) --1, cut chi2geo (daughter 1, 2 & 3) --1, cut cosopen SM 1 (dauther 1 & 2) --1, cut cosopen SM 2 (dauther 1 & 3) --1, cut cosopen SM 3 (dauther 2 & 3) --1, cut cosopen (2 daughters with max angle) --------------------------------------------------------------------------- -## Geometrical cuts for secondary mothers (of daugher 1&2, 1&3, 2&3) -2.0, cut chi2topo SM 1 (dauther 1 & 2) --1, cut chi2topo SM 2 (dauther 1 & 3) --1, cut chi2topo SM 3 (dauther 2 & 3) --1, cut costopo SM 1 (dauther 1 & 2) --1, cut costopo SM 2 (dauther 1 & 3) --1, cut costopo SM 3 (dauther 2 & 3) --------------------------------------------------------------------------- -## Geometrical cuts for mother --1, cut chi2topo --1, cut costopo -10.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree --------------------------------------------------------------------------- -## Pid method (for pid mode 2, 3 & 4 analyistree from pid-framework is needed) -1, pid mode: =0: no pid; =1: mc pid; =2: rec pid (default); =3: rec pid (max. purity & purity > min. purity); =4 (purity > min. purity) --------------------------------------------------------------------------- -## Minimum required purities for TOF pid for pid mode = 3 & 4 --1, purity tof for all daughter species (will be overwritten by specific purity, if specific purity != -1) --1, specific purity tof for protons (optional, if = -1: purity for all species will be used) --1, specific purity tof for pions (optional, if = -1: purity for all species will be used) --1, specific purity tof for kaons (optional, if = -1: purity for all species will be used) --1, specific purity tof for deuterons (optional, if = -1: purity for all species will be used) --1, specific purity tof for background (optional, if = -1: purity for all species will be used) --------------------------------------------------------------------------- -## Input / Output information -rTree treename in input analysistree -VtxTracks branchname for reconstructed tracks in input analysistree -0, write detailed BG information --1, number of events to be processed (-1 = all events) -1, make plain tree: =1; make no plain tree: =0 diff --git a/at_interface/example_parfiles/parfile3_H3L_pidmode4.txt b/at_interface/example_parfiles/parfile3_H3L_pidmode4.txt deleted file mode 100644 index e53c297..0000000 --- a/at_interface/example_parfiles/parfile3_H3L_pidmode4.txt +++ /dev/null @@ -1,74 +0,0 @@ -## Decay -3004, pdg mother -H3L name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -3, number of daughters -2212, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) --211, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -1000010020, pdg daughter 3 -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 -10.0, cut chi2 to PV 3 --1, cut cos to PV 1 --1, cut cos to PV 2 --1, cut cos to PV 3 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -0.2, cut distance daughter 1 & 2 -0.2, cut distance SV (distance between daughter 3 and SV) -3.0, cut chi2geo SM 1 (dauther 1 & 2) --1, cut chi2geo SM 2 (dauther 1 & 3) --1, cut chi2geo SM 3 (dauther 2 & 3) --1, cut chi2geo (daughter 1, 2 & 3) --1, cut cosopen SM 1 (dauther 1 & 2) --1, cut cosopen SM 2 (dauther 1 & 3) --1, cut cosopen SM 3 (dauther 2 & 3) --1, cut cosopen (2 daughters with max angle) --------------------------------------------------------------------------- -## Geometrical cuts for secondary mothers (of daugher 1&2, 1&3, 2&3) -2.0, cut chi2topo SM 1 (dauther 1 & 2) --1, cut chi2topo SM 2 (dauther 1 & 3) --1, cut chi2topo SM 3 (dauther 2 & 3) --1, cut costopo SM 1 (dauther 1 & 2) --1, cut costopo SM 2 (dauther 1 & 3) --1, cut costopo SM 3 (dauther 2 & 3) --------------------------------------------------------------------------- -## Geometrical cuts for mother --1, cut chi2topo --1, cut costopo -10.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree --------------------------------------------------------------------------- -## Pid method (for pid mode 2, 3 & 4 analyistree from pid-framework is needed) -4, pid mode: =0: no pid; =1: mc pid; =2: rec pid (default); =3: rec pid (max. purity & purity > min. purity); =4 (purity > min. purity) --------------------------------------------------------------------------- -## Minimum required purities for TOF pid for pid mode = 3 & 4 -0.5, purity tof for all daughter species (will be overwritten by specific purity, if specific purity != -1) -0.7, specific purity tof for protons (optional, if = -1: purity for all species will be used) -0.7, specific purity tof for pions (optional, if = -1: purity for all species will be used) -0.7, specific purity tof for kaons (optional, if = -1: purity for all species will be used) -0.2, specific purity tof for deuterons (optional, if = -1: purity for all species will be used) -0.7, specific purity tof for background (optional, if = -1: purity for all species will be used) --------------------------------------------------------------------------- -## Input / Output information -aTree treename in input analysistree -RecParticles branchname for reconstructed tracks in input analysistree -0, write detailed BG information --1, number of events to be processed (-1 = all events) -1, make plain tree: =1; make no plain tree: =0 diff --git a/at_interface/example_parfiles/parfile3_He5L_cascade_pidmode1.txt b/at_interface/example_parfiles/parfile3_He5L_cascade_pidmode1.txt deleted file mode 100644 index 5ca0791..0000000 --- a/at_interface/example_parfiles/parfile3_He5L_cascade_pidmode1.txt +++ /dev/null @@ -1,74 +0,0 @@ -## Decay -3007, pdg mother -He5L name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -3, number of daughters -1000020040, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) --211, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -2212, pdg daughter 3 -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 -18.42, cut chi2 to PV 3 --1, cut cos to PV 1 --1, cut cos to PV 2 --1, cut cos to PV 3 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 --1, cut distance SV (distance between daughter 3 and SV) -3.0, cut chi2geo SM 1 (dauther 1 & 2) --1, cut chi2geo SM 2 (dauther 1 & 3) --1, cut chi2geo SM 3 (dauther 2 & 3) -6.0, cut chi2geo (daughter 1, 2 & 3) --1, cut cosopen SM 1 (dauther 1 & 2) --1, cut cosopen SM 2 (dauther 1 & 3) --1, cut cosopen SM 3 (dauther 2 & 3) --1, cut cosopen (2 daughters with max angle) --------------------------------------------------------------------------- -## Geometrical cuts for secondary mothers (of daugher 1&2, 1&3, 2&3) --1, cut chi2topo SM 1 (dauther 1 & 2) --1, cut chi2topo SM 2 (dauther 1 & 3) --1, cut chi2topo SM 3 (dauther 2 & 3) --1, cut costopo SM 1 (dauther 1 & 2) --1, cut costopo SM 2 (dauther 1 & 3) --1, cut costopo SM 3 (dauther 2 & 3) --------------------------------------------------------------------------- -## Geometrical cuts for mother -5.0, cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line -3.0, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -1, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree --------------------------------------------------------------------------- -## Pid method (for pid mode 2, 3 & 4 analyistree from pid-framework is needed) -1, pid mode: =0: no pid; =1: mc pid; =2: rec pid (default); =3: rec pid (max. purity & purity > min. purity); =4 (purity > min. purity) --------------------------------------------------------------------------- -## Minimum required purities for TOF pid for pid mode = 3 & 4 --1, purity tof for all daughter species (will be overwritten by specific purity, if specific purity != -1) --1, specific purity tof for protons (optional, if = -1: purity for all species will be used) --1, specific purity tof for pions (optional, if = -1: purity for all species will be used) --1, specific purity tof for kaons (optional, if = -1: purity for all species will be used) --1, specific purity tof for deuterons (optional, if = -1: purity for all species will be used) --1, specific purity tof for background (optional, if = -1: purity for all species will be used) --------------------------------------------------------------------------- -## Input / Output information -rTree treename in input analysistree -VtxTracks branchname for reconstructed tracks in input analysistree -0, write detailed BG information --1, number of events to be processed (-1 = all events) -0, make plain tree: =1; make no plain tree: =0 diff --git a/at_interface/example_parfiles/parfile3_add.txt b/at_interface/example_parfiles/parfile3_add.txt deleted file mode 100644 index 1a97df3..0000000 --- a/at_interface/example_parfiles/parfile3_add.txt +++ /dev/null @@ -1,56 +0,0 @@ -## Decay -3007, pdg mother -He5L name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -3, number of daughters -1000020040, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) --211, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -2212, pdg daughter 3 -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 -18.42, cut chi2 to PV 3 --1, cut cos to PV 1 --1, cut cos to PV 2 --1, cut cos to PV 3 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 --1, cut distance SV (distance between daughter 3 and SV) -3.0, cut chi2geo SM 1 (dauther 1 & 2) --1, cut chi2geo SM 2 (dauther 1 & 3) --1, cut chi2geo SM 3 (dauther 2 & 3) -6.0, cut chi2geo (daughter 1, 2 & 3) --1, cut cosopen SM 1 (dauther 1 & 2) --1, cut cosopen SM 2 (dauther 1 & 3) --1, cut cosopen SM 3 (dauther 2 & 3) --1, cut cosopen (2 daughters with max angle) --------------------------------------------------------------------------- -## Geometrical cuts for secondary mothers (of daugher 1&2, 1&3, 2&3) --1, cut chi2topo SM 1 (dauther 1 & 2) --1, cut chi2topo SM 2 (dauther 1 & 3) --1, cut chi2topo SM 3 (dauther 2 & 3) --1, cut costopo SM 1 (dauther 1 & 2) --1, cut costopo SM 2 (dauther 1 & 3) --1, cut costopo SM 3 (dauther 2 & 3) --------------------------------------------------------------------------- -## Geometrical cuts for mother -5.0, cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree diff --git a/at_interface/example_parfiles/parfile3_add_He6LL.txt b/at_interface/example_parfiles/parfile3_add_He6LL.txt deleted file mode 100644 index 784b756..0000000 --- a/at_interface/example_parfiles/parfile3_add_He6LL.txt +++ /dev/null @@ -1,56 +0,0 @@ -## Decay -3011, pdg mother -He6LL name mother -5.98575, mass mother: = -1: pdg mass taken from KFParticleDatabase -3.0e-3, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -3, number of daughters -3007, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) --211, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -2212, pdg daughter 3 -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 -18.42, cut chi2 to PV 3 --1, cut cos to PV 1 --1, cut cos to PV 2 --1, cut cos to PV 3 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 --1, cut distance SV (distance between daughter 3 and SV) -3.0, cut chi2geo SM 1 (dauther 1 & 2) --1, cut chi2geo SM 2 (dauther 1 & 3) --1, cut chi2geo SM 3 (dauther 2 & 3) -6.0, cut chi2geo (daughter 1, 2 & 3) --1, cut cosopen SM 1 (dauther 1 & 2) --1, cut cosopen SM 2 (dauther 1 & 3) --1, cut cosopen SM 3 (dauther 2 & 3) --1, cut cosopen (2 daughters with max angle) --------------------------------------------------------------------------- -## Geometrical cuts for secondary mothers (of daugher 1&2, 1&3, 2&3) --1, cut chi2topo SM 1 (dauther 1 & 2) --1, cut chi2topo SM 2 (dauther 1 & 3) --1, cut chi2topo SM 3 (dauther 2 & 3) --1, cut costopo SM 1 (dauther 1 & 2) --1, cut costopo SM 2 (dauther 1 & 3) --1, cut costopo SM 3 (dauther 2 & 3) --------------------------------------------------------------------------- -## Geometrical cuts for mother -5.0, cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree diff --git a/at_interface/example_parfiles/parfile3_add_omegastar.txt b/at_interface/example_parfiles/parfile3_add_omegastar.txt deleted file mode 100644 index f0cd6b3..0000000 --- a/at_interface/example_parfiles/parfile3_add_omegastar.txt +++ /dev/null @@ -1,56 +0,0 @@ -## Decay -1003334, pdg mother -Omega*- name mother -2.252, mass mother: = -1: pdg mass taken from KFParticleDatabase -0.055, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -3, number of daughters -3312, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -211, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) --321, pdg daughter 3 -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 -18.42, cut chi2 to PV 3 --1, cut cos to PV 1 --1, cut cos to PV 2 --1, cut cos to PV 3 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 --1, cut distance SV (distance between daughter 3 and SV) -3.0, cut chi2geo SM 1 (dauther 1 & 2) --1, cut chi2geo SM 2 (dauther 1 & 3) --1, cut chi2geo SM 3 (dauther 2 & 3) -3.0, cut chi2geo (daughter 1, 2 & 3) --1, cut cosopen SM 1 (dauther 1 & 2) --1, cut cosopen SM 2 (dauther 1 & 3) --1, cut cosopen SM 3 (dauther 2 & 3) --1, cut cosopen (2 daughters with max angle) --------------------------------------------------------------------------- -## Geometrical cuts for secondary mothers (of daugher 1&2, 1&3, 2&3) --1, cut chi2topo SM 1 (dauther 1 & 2) --1, cut chi2topo SM 2 (dauther 1 & 3) --1, cut chi2topo SM 3 (dauther 2 & 3) --1, cut costopo SM 1 (dauther 1 & 2) --1, cut costopo SM 2 (dauther 1 & 3) --1, cut costopo SM 3 (dauther 2 & 3) --------------------------------------------------------------------------- -## Geometrical cuts for mother -1000., cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree diff --git a/at_interface/main.cpp b/at_interface/main.cpp deleted file mode 100644 index 57a617d..0000000 --- a/at_interface/main.cpp +++ /dev/null @@ -1,318 +0,0 @@ -#include "PFSimpleTask.hpp" - -#include "ConverterIn.hpp" -#include "ConverterOut.hpp" - -#include "AnalysisTree/PlainTreeFiller.hpp" -#include "AnalysisTree/TaskManager.hpp" - -using namespace AnalysisTree; - -int main(int argc, char** argv) { - - if (argc < 4) { - std::cout << "Wrong number of arguments! Please use:\n ./main filelist.txt dataset parfile.txt\n"; - return EXIT_FAILURE; - } - - Int_t ndecays = argc - 3; - - const std::string& filename = argv[1]; - std::string outfilename = std::string(argv[2]) + std::string(".PFSimpleOutput.root"); - std::string outfilename_plain = std::string(argv[2]) + std::string(".PFSimplePlainTree.root"); - - const Int_t npdgs = 5; - const Int_t ndaughters_max = 3; - - char name_mother [5]; - Int_t pdg_mother; - Float_t massPdg, massPdgSigma; - Int_t ndaughters; - std::array pdg_1, pdg_2, pdg_3; - std::array chi2prim, cos; - Float_t dist, distSV, chi2geo, cosopen, chi2topo, costopo, LdL, decaylength, distPVline, invmass; - std::array chi2geoSM, cosopenSM, chi2topoSM, costopoSM; - Int_t apply_mass_constr, transport_to_pv, do_not_write_mother; - Int_t pid_mode; - Float_t pid_purity; - std::array purity_pdg; - char atree_name_c [7]; char rec_tracks_name_c [11]; - std::string atree_name, rec_tracks_name; - Int_t nevents; - Int_t write_detailed_bg, make_plain_tree; - - std::vector decays; - - for (int idecay = 0; idecay < ndecays; idecay++) { - - TString inputFileInfo = argv[3+idecay]; - - FILE *inputInfo = fopen(inputFileInfo, "r"); - fscanf(inputInfo, "%*[^\n]%*c"); - fscanf(inputInfo, "%i %*[^\n]%*c", &pdg_mother); - fscanf(inputInfo, "%s %*[^\n]%*c", name_mother); - fscanf(inputInfo, "%f %*[^\n]%*c", &massPdg); - fscanf(inputInfo, "%f %*[^\n]%*c", &massPdgSigma); - - fscanf(inputInfo, "%i %*[^\n]%*c", &ndaughters); - - fscanf(inputInfo, "%i %*[^\n]%*c", &pdg_1.at(0)); - fscanf(inputInfo, "%i %*[^\n]%*c", &pdg_1.at(1)); - fscanf(inputInfo, "%i %*[^\n]%*c", &pdg_1.at(2)); - fscanf(inputInfo, "%i %*[^\n]%*c", &pdg_2.at(0)); - fscanf(inputInfo, "%i %*[^\n]%*c", &pdg_2.at(1)); - fscanf(inputInfo, "%i %*[^\n]%*c", &pdg_2.at(2)); - if (ndaughters == 3) { - fscanf(inputInfo, "%i %*[^\n]%*c", &pdg_3.at(0)); - fscanf(inputInfo, "%i %*[^\n]%*c", &pdg_3.at(1)); - fscanf(inputInfo, "%i %*[^\n]%*c", &pdg_3.at(2)); - } - fscanf(inputInfo, "%*[^\n]%*c"); - fscanf(inputInfo, "%*[^\n]%*c"); - - fscanf(inputInfo, "%f %*[^\n]%*c", &chi2prim.at(0)); - fscanf(inputInfo, "%f %*[^\n]%*c", &chi2prim.at(1)); - if (ndaughters == 3) - fscanf(inputInfo, "%f %*[^\n]%*c", &chi2prim.at(2)); - fscanf(inputInfo, "%f %*[^\n]%*c", &cos.at(0)); - fscanf(inputInfo, "%f %*[^\n]%*c", &cos.at(1)); - if (ndaughters == 3) - fscanf(inputInfo, "%f %*[^\n]%*c", &cos.at(2)); - fscanf(inputInfo, "%*[^\n]%*c"); - fscanf(inputInfo, "%*[^\n]%*c"); - - fscanf(inputInfo, "%f %*[^\n]%*c", &dist); - if (ndaughters == 3) { - fscanf(inputInfo, "%f %*[^\n]%*c", &distSV); - fscanf(inputInfo, "%f %*[^\n]%*c", &chi2geoSM.at(0)); - fscanf(inputInfo, "%f %*[^\n]%*c", &chi2geoSM.at(1)); - fscanf(inputInfo, "%f %*[^\n]%*c", &chi2geoSM.at(2)); - } - fscanf(inputInfo, "%f %*[^\n]%*c", &chi2geo); - if (ndaughters == 3) { - fscanf(inputInfo, "%f %*[^\n]%*c", &cosopenSM.at(0)); - fscanf(inputInfo, "%f %*[^\n]%*c", &cosopenSM.at(1)); - fscanf(inputInfo, "%f %*[^\n]%*c", &cosopenSM.at(2)); - } - fscanf(inputInfo, "%f %*[^\n]%*c", &cosopen); - fscanf(inputInfo, "%*[^\n]%*c"); - fscanf(inputInfo, "%*[^\n]%*c"); - - if (ndaughters == 3) { - fscanf(inputInfo, "%f %*[^\n]%*c", &chi2topoSM.at(0)); - fscanf(inputInfo, "%f %*[^\n]%*c", &chi2topoSM.at(1)); - fscanf(inputInfo, "%f %*[^\n]%*c", &chi2topoSM.at(2)); - fscanf(inputInfo, "%f %*[^\n]%*c", &costopoSM.at(0)); - fscanf(inputInfo, "%f %*[^\n]%*c", &costopoSM.at(1)); - fscanf(inputInfo, "%f %*[^\n]%*c", &costopoSM.at(2)); - fscanf(inputInfo, "%*[^\n]%*c"); - fscanf(inputInfo, "%*[^\n]%*c"); - } - - fscanf(inputInfo, "%f %*[^\n]%*c", &chi2topo); - fscanf(inputInfo, "%f %*[^\n]%*c", &costopo); - fscanf(inputInfo, "%f %*[^\n]%*c", &LdL); - fscanf(inputInfo, "%f %*[^\n]%*c", &decaylength); - fscanf(inputInfo, "%f %*[^\n]%*c", &distPVline); - fscanf(inputInfo, "%f %*[^\n]%*c", &invmass); - fscanf(inputInfo, "%*[^\n]%*c"); - fscanf(inputInfo, "%*[^\n]%*c"); - - fscanf(inputInfo, "%i %*[^\n]%*c", &apply_mass_constr); - fscanf(inputInfo, "%i %*[^\n]%*c", &transport_to_pv); - fscanf(inputInfo, "%i %*[^\n]%*c", &do_not_write_mother); - fscanf(inputInfo, "%*[^\n]%*c"); - fscanf(inputInfo, "%*[^\n]%*c"); - - if (idecay == 0) { - - fscanf(inputInfo, "%i %*[^\n]%*c", &pid_mode); - fscanf(inputInfo, "%*[^\n]%*c"); - fscanf(inputInfo, "%*[^\n]%*c"); - - fscanf(inputInfo, "%f %*[^\n]%*c", &pid_purity); - fscanf(inputInfo, "%f %*[^\n]%*c", &purity_pdg.at(0)); - fscanf(inputInfo, "%f %*[^\n]%*c", &purity_pdg.at(1)); - fscanf(inputInfo, "%f %*[^\n]%*c", &purity_pdg.at(2)); - fscanf(inputInfo, "%f %*[^\n]%*c", &purity_pdg.at(3)); - fscanf(inputInfo, "%f %*[^\n]%*c", &purity_pdg.at(4)); - fscanf(inputInfo, "%*[^\n]%*c"); - fscanf(inputInfo, "%*[^\n]%*c"); - - fscanf(inputInfo, "%s %*[^\n]%*c", atree_name_c); - fscanf(inputInfo, "%s %*[^\n]%*c", rec_tracks_name_c); - fscanf(inputInfo, "%i %*[^\n]%*c", &write_detailed_bg); - fscanf(inputInfo, "%i %*[^\n]%*c", &nevents); - fscanf(inputInfo, "%i %*[^\n]%*c", &make_plain_tree); - - atree_name = atree_name_c; - rec_tracks_name = rec_tracks_name_c; - } - - fclose(inputInfo); - - std::vector daughters; - - std::vector pdg_1_vec; - if (pdg_1.at(1) != 0 || pdg_1.at(2) != 0) { - pdg_1_vec.push_back(pdg_1.at(0)); - for (int i = 1; i < 3; i++) - if (pdg_1.at(i) != 0) pdg_1_vec.push_back(pdg_1.at(i)); - Daughter daughter_1(pdg_1_vec.at(0), pdg_1_vec); - daughters.push_back(daughter_1); - } - else - daughters.push_back(pdg_1.at(0)); - - std::vector pdg_2_vec; - if (pdg_2.at(1) != 0 || pdg_2.at(2) != 0) { - pdg_2_vec.push_back(pdg_2.at(0)); - for (int i = 1; i < 3; i++) - if (pdg_2.at(i) != 0) pdg_2_vec.push_back(pdg_2.at(i)); - Daughter daughter_2(pdg_2_vec.at(0), pdg_2_vec); - daughters.push_back(daughter_2); - } - else - daughters.push_back(pdg_2.at(0)); - - if (ndaughters == 3) { - std::vector pdg_3_vec; - if (pdg_3.at(1) != 0 || pdg_3.at(2) != 0) { - pdg_3_vec.push_back(pdg_3.at(0)); - for (int i = 1; i < 3; i++) - if (pdg_3.at(i) != 0) pdg_3_vec.push_back(pdg_3.at(i)); - Daughter daughter_3(pdg_3_vec.at(0), pdg_3_vec); - daughters.push_back(daughter_3); - } - else - daughters.push_back(pdg_3.at(0)); - } - - for (size_t idaughter = 0; idaughter < daughters.size(); ++idaughter) { - daughters.at(idaughter).CancelCuts(); - if (chi2prim.at(idaughter) != -1) daughters.at(idaughter).SetCutChi2Prim(chi2prim.at(idaughter)); - if (cos.at(idaughter) != -1) daughters.at(idaughter).SetCutCos(cos.at(idaughter)); - } - Mother mother(pdg_mother); - if (massPdg != -1) mother.SetMassPdg(massPdg); - if (massPdgSigma != -1) mother.SetMassPdgSigma(massPdgSigma); - - mother.CancelCuts(); - - // Set cut values - if (dist != -1) mother.SetCutDistance(dist); - if (ndaughters == 3) - if (distSV != -1) mother.SetCutDistanceToSV(distSV); - if (chi2geo != -1) mother.SetCutChi2Geo(chi2geo); - if (cosopen != -1) mother.SetCutCosOpen(cosopen); - if (chi2topo != -1) mother.SetCutChi2Topo(chi2topo); - if (costopo != -1) mother.SetCutCosTopo(costopo); - if (LdL != -1) mother.SetCutLdL(LdL); - if (decaylength != -1) mother.SetCutDecayLength(decaylength); - if (distPVline != -1) mother.SetCutDistancePVLine(distPVline); - if (invmass != -1) mother.SetCutInvMass(invmass); - - if (ndaughters == 3) { - std::vector chi2geoSM_vec; - for (int i = 0; i < ndaughters; i++) - if (chi2geoSM.at(i) != -1) - chi2geoSM_vec.push_back(chi2geoSM.at(i)); - else break; - if (chi2geoSM_vec.size() > 0) - mother.SetCutChi2GeoSM({chi2geoSM_vec}); - - std::vector cosopenSM_vec; - for (int i = 0; i < ndaughters; i++) - if (cosopenSM.at(i) != -1) - cosopenSM_vec.push_back(cosopenSM.at(i)); - else break; - if (cosopenSM_vec.size() > 0) - mother.SetCutCosOpenSM({cosopenSM_vec}); - - std::vector chi2topoSM_vec; - for (int i = 0; i < ndaughters; i++) - if (chi2topoSM.at(i) != -1) - chi2topoSM_vec.push_back(chi2topoSM.at(i)); - else break; - if (chi2topoSM_vec.size() > 0) - mother.SetCutChi2TopoSM({chi2topoSM_vec}); - - std::vector costopoSM_vec; - for (int i = 0; i < ndaughters; i++) - if (costopoSM.at(i) != -1) - costopoSM_vec.push_back(costopoSM.at(i)); - else break; - if (costopoSM_vec.size() > 0) - mother.SetCutCosTopoSM({costopoSM_vec}); - } - - Decay decay(name_mother, mother, {daughters}); - if (apply_mass_constr == 1) decay.SetIsApplyMassConstraint(); - if (transport_to_pv == 1) decay.SetIsTransportToPV(); - if (do_not_write_mother == 1) decay.SetIsDoNotWriteMother(); - - decays.push_back(decay); - } - - auto* man = TaskManager::GetInstance(); - - auto* in_converter = new ConverterIn(); - in_converter->SetRecEventHeaderName("RecEventHeader"); - in_converter->SetRecTracksName(rec_tracks_name); - in_converter->SetSimTracksName("SimParticles"); - in_converter->SetTrackCuts(new Cuts("Cut to reproduce KFPF", {EqualsCut((rec_tracks_name + ".pass_cuts").c_str(), 1)})); - - in_converter->SetPidMode(pid_mode); - if (pid_purity != -1) in_converter->SetPidPurity(pid_purity); - if (purity_pdg.at(0) != -1) in_converter->SetPidPurityProton(purity_pdg.at(0)); // in pid-mode 4 pdg-specific purity possible - if (purity_pdg.at(1) != -1) in_converter->SetPidPurityPion(purity_pdg.at(1)); - if (purity_pdg.at(2) != -1) in_converter->SetPidPurityKaon(purity_pdg.at(2)); - if (purity_pdg.at(3) != -1) in_converter->SetPidPurityDeuteron(purity_pdg.at(3)); - if (purity_pdg.at(4) != -1) in_converter->SetPidPurityBG(purity_pdg.at(4)); - - auto* pf_task = new PFSimpleTask(); - pf_task->SetInTask(in_converter); - pf_task->SetDecays({decays}); - - auto* out_converter = new ConverterOut(); - man->SetOutputName(outfilename, "pTree"); - out_converter->SetSimEventHeaderName("SimEventHeader"); - out_converter->SetRecTracksName(rec_tracks_name); - out_converter->SetSimTracksName("SimParticles"); - out_converter->SetPFSimpleTask(pf_task); - out_converter->SetDecays(decays); - out_converter->SetIsWriteDetailedBG(write_detailed_bg); - - man->AddTask(in_converter); - man->AddTask(pf_task); - man->AddTask(out_converter); - man->SetVerbosityPeriod(100); - - man->Init({filename}, {atree_name}); - man->Run(nevents);// -1 = all events - man->Finish(); - man->ClearTasks(); - - if (make_plain_tree) { - std::ofstream filelist; - filelist.open("filelist.txt"); - filelist << outfilename; - filelist << "\n"; - filelist.close(); - - auto* tree_task = new PlainTreeFiller(); - tree_task->SetOutputName(outfilename_plain, "plain_tree"); - std::string branchname_rec = "Candidates"; - tree_task->SetInputBranchNames({branchname_rec}); - tree_task->AddBranch(branchname_rec); - //tree_task->SetIsPrependLeavesWithBranchName(false); //Uncomment when most recent AnalysisTree is installed in cbmroot - - man->AddTask(tree_task); - - man->Init({"filelist.txt"}, {"pTree"}); - man->Run(nevents);// -1 = all events - man->Finish(); - } - - return EXIT_SUCCESS; -} diff --git a/at_interface/parfile2.txt b/at_interface/parfile2.txt deleted file mode 100644 index 81b9563..0000000 --- a/at_interface/parfile2.txt +++ /dev/null @@ -1,54 +0,0 @@ -## Decay -3122, pdg mother -Lambda name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -2, number of daughters --211, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -2212, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 --1, cut cos to PV 1 --1, cut cos to PV 2 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 -3.0, cut chi2geo --1, cut cosopen --------------------------------------------------------------------------- -## Geometrical cuts for mother --1, cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree --------------------------------------------------------------------------- -## Pid method (for pid mode 2, 3 & 4 analyistree from pid-framework is needed) -1, pid mode: =0: no pid; =1: mc pid; =2: rec pid (default); =3: rec pid (max. purity & purity > min. purity); =4 (purity > min. purity) --------------------------------------------------------------------------- -## Minimum required purities for TOF pid for pid mode = 3 & 4 --1, purity tof for all daughter species (will be overwritten by specific purity, if specific purity != -1) --1, specific purity tof for protons (optional, if = -1: purity for all species will be used) --1, specific purity tof for pions (optional, if = -1: purity for all species will be used) --1, specific purity tof for kaons (optional, if = -1: purity for all species will be used) --1, specific purity tof for deuterons (optional, if = -1: purity for all species will be used) --1, specific purity tof for background (optional, if = -1: purity for all species will be used) --------------------------------------------------------------------------- -## Input / Output information -rTree treename in input analysistree -VtxTracks branchname for reconstructed tracks in input analysistree -1, write detailed BG information --1, number of events to be processed (-1 = all events) -1, make plain tree: =1; make no plain tree: =0 diff --git a/at_interface/parfile2_add.txt b/at_interface/parfile2_add.txt deleted file mode 100644 index e58f991..0000000 --- a/at_interface/parfile2_add.txt +++ /dev/null @@ -1,37 +0,0 @@ -## Decay -310, pdg mother -Kshort name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -2, number of daughters --211, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -211, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 --1, cut cos to PV 1 --1, cut cos to PV 2 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 -3.0, cut chi2geo --1, cut cosopen --------------------------------------------------------------------------- -## Geometrical cuts for mother -5.0, cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree - diff --git a/at_interface/parfile3.txt b/at_interface/parfile3.txt deleted file mode 100644 index 117f618..0000000 --- a/at_interface/parfile3.txt +++ /dev/null @@ -1,74 +0,0 @@ -## Decay -3004, pdg mother -H3L name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -3, number of daughters -2212, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) --211, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -1000010020, pdg daughter 3 -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 -10.0, cut chi2 to PV 3 --1, cut cos to PV 1 --1, cut cos to PV 2 --1, cut cos to PV 3 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -0.2, cut distance daughter 1 & 2 -0.2, cut distance SV (distance between daughter 3 and SV) -3.0, cut chi2geo SM 1 (dauther 1 & 2) --1, cut chi2geo SM 2 (dauther 1 & 3) --1, cut chi2geo SM 3 (dauther 2 & 3) --1, cut chi2geo (daughter 1, 2 & 3) --1, cut cosopen SM 1 (dauther 1 & 2) --1, cut cosopen SM 2 (dauther 1 & 3) --1, cut cosopen SM 3 (dauther 2 & 3) --1, cut cosopen (2 daughters with max angle) --------------------------------------------------------------------------- -## Geometrical cuts for secondary mothers (of daugher 1&2, 1&3, 2&3) -2.0, cut chi2topo SM 1 (dauther 1 & 2) --1, cut chi2topo SM 2 (dauther 1 & 3) --1, cut chi2topo SM 3 (dauther 2 & 3) --1, cut costopo SM 1 (dauther 1 & 2) --1, cut costopo SM 2 (dauther 1 & 3) --1, cut costopo SM 3 (dauther 2 & 3) --------------------------------------------------------------------------- -## Geometrical cuts for mother --1, cut chi2topo --1, cut costopo -10.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree --------------------------------------------------------------------------- -## Pid method (for pid mode 2, 3 & 4 analyistree from pid-framework is needed) -1, pid mode: =0: no pid; =1: mc pid; =2: rec pid (default); =3: rec pid (max. purity & purity > min. purity); =4 (purity > min. purity) --------------------------------------------------------------------------- -## Minimum required purities for TOF pid for pid mode = 3 & 4 --1, purity tof for all daughter species (will be overwritten by specific purity, if specific purity != -1) --1, specific purity tof for protons (optional, if = -1: purity for all species will be used) --1, specific purity tof for pions (optional, if = -1: purity for all species will be used) --1, specific purity tof for kaons (optional, if = -1: purity for all species will be used) --1, specific purity tof for deuterons (optional, if = -1: purity for all species will be used) --1, specific purity tof for background (optional, if = -1: purity for all species will be used) --------------------------------------------------------------------------- -## Input / Output information -rTree treename in input analysistree -VtxTracks branchname for reconstructed tracks in input analysistree -1, write detailed BG information --1, number of events to be processed (-1 = all events) -1, make plain tree: =1; make no plain tree: =0 diff --git a/at_interface/parfile3_add.txt b/at_interface/parfile3_add.txt deleted file mode 100644 index 1a97df3..0000000 --- a/at_interface/parfile3_add.txt +++ /dev/null @@ -1,56 +0,0 @@ -## Decay -3007, pdg mother -He5L name mother --1, mass mother: = -1: pdg mass taken from KFParticleDatabase --1, mass sigma mother: = -1: pdg mass sigma taken from KFParticleDatabase -3, number of daughters -1000020040, pdg daughter 1 -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 1 (=0: no additional pdg) --211, pdg daughter 2 -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 2 (=0: no additional pdg) -2212, pdg daughter 3 -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) -0, optional: additional pdg to be considered for daughter 3 (=0: no additional pdg) --------------------------------------------------------------------------- -## Geometrical cuts for daughters -18.42, cut chi2 to PV 1 -18.42, cut chi2 to PV 2 -18.42, cut chi2 to PV 3 --1, cut cos to PV 1 --1, cut cos to PV 2 --1, cut cos to PV 3 --------------------------------------------------------------------------- -## Geometrical cuts for combinations of daughters -1.0, cut distance daughter 1 & 2 --1, cut distance SV (distance between daughter 3 and SV) -3.0, cut chi2geo SM 1 (dauther 1 & 2) --1, cut chi2geo SM 2 (dauther 1 & 3) --1, cut chi2geo SM 3 (dauther 2 & 3) -6.0, cut chi2geo (daughter 1, 2 & 3) --1, cut cosopen SM 1 (dauther 1 & 2) --1, cut cosopen SM 2 (dauther 1 & 3) --1, cut cosopen SM 3 (dauther 2 & 3) --1, cut cosopen (2 daughters with max angle) --------------------------------------------------------------------------- -## Geometrical cuts for secondary mothers (of daugher 1&2, 1&3, 2&3) --1, cut chi2topo SM 1 (dauther 1 & 2) --1, cut chi2topo SM 2 (dauther 1 & 3) --1, cut chi2topo SM 3 (dauther 2 & 3) --1, cut costopo SM 1 (dauther 1 & 2) --1, cut costopo SM 2 (dauther 1 & 3) --1, cut costopo SM 3 (dauther 2 & 3) --------------------------------------------------------------------------- -## Geometrical cuts for mother -5.0, cut chi2topo --1, cut costopo -5.0, cut LdL --1, cut decaylength L --1, cut distance to PV line --1, cut invariant mass discrepancy in terms of expected width --------------------------------------------------------------------------- -## Options for the saving of the reconstructed mother -0, apply nonlinear mass constraint -0, transport mother to PV -0, do not write mother into output analysistree / plain tree