Project
Loading...
Searching...
No Matches
MatchCosmicsParams.cxx
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
15
17#include "Framework/Logger.h"
18#include <map>
19
21
22std::string o2::globaltracking::getMatchCosmicsPreset(const std::string& name)
23{
24 // physics-v1, tuned on PbPb 2025 (LHC25an 567939, 19 kHz) for fakes, on the cosmics run 562658 and on a cosmic MC with PbPb-like
25 // distortions for the efficiency (TPC-only legs):
26 // - seed cuts against collision tracks: pT, transverse DCA to the beam line in cm and in sigma, TPC clusters
27 // - realistic systematic errors for the leg comparison (true pairs had y / snp / q/pt pulls 2-4x too wide), so that the crude pair
28 // chi2 cut is meaningful; per-parameter windows open except tgl (3 sigma: the main discriminant against random pairs)
29 // - loose cut on the chi2 of the refitted legs; z test of TPC-only legs at a common time and same-half veto switched on
30 // - TPC-only legs on opposite sides (time from z continuity, ~94 % of the PbPb candidates were random pairs): both legs and the
31 // refitted cosmic above 2 GeV (offline: PbPb candidates / 10.5, cosmic MC efficiency 81.8 -> 80.6 %)
32 // - TOF flight pair as selection criterion (needs TOF clusters, added to the inputs): pairs confirmed by a top / bottom TOF hit pair
33 // with the muon's flight time win the selection and are refitted at the TOF time (568041: fewer cosmics, more of them TOF-tagged);
34 // the common-time refit of same-side legs (refitSameSideAtCommonTime) is not used: in PbPb it added mostly collision-track pairs
35 static const std::map<std::string, std::string> presets{
36 {"physics-v1",
37 "cosmicsMatch.minSeedPt=1;cosmicsMatch.minSeedDCAxy=3;cosmicsMatch.minSeedDCAxyNSigma=10;cosmicsMatch.minSeedNClTPC=30;"
38 "cosmicsMatch.crudeChi2Cut=50;cosmicsMatch.systSigma2[0]=0.25;cosmicsMatch.systSigma2[2]=4e-4;cosmicsMatch.systSigma2[4]=2.5e-3;"
39 "cosmicsMatch.crudeNSigma2Cut[0]=144;cosmicsMatch.crudeNSigma2Cut[2]=144;cosmicsMatch.crudeNSigma2Cut[3]=9;cosmicsMatch.crudeNSigma2Cut[4]=144;"
40 "cosmicsMatch.maxChi2Match=1000;cosmicsMatch.constrainTPCOnlyZ=true;cosmicsMatch.vetoSameHalf=true;cosmicsMatch.minPtOppositeSides=2;"
41 "cosmicsMatch.tofFlightSelection=true"}};
42 auto it = presets.find(name);
43 if (it == presets.end()) {
44 std::string known;
45 for (const auto& [k, v] : presets) {
46 known += " " + k;
47 }
48 LOGP(fatal, "Unknown cosmics matching preset {}, known:{}", name, known);
49 return {};
50 }
51 return it->second;
52}
#define O2ParamImpl(classname)
Configurable params for cosmics matching.
const GLdouble * v
Definition glcorearb.h:832
GLuint const GLchar * name
Definition glcorearb.h:781
std::string getMatchCosmicsPreset(const std::string &name)