Project
Loading...
Searching...
No Matches
SetCuts.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
12#include "SetCuts.h"
15#include <fairlogger/Logger.h>
16
17using namespace o2::base;
18
19namespace o2
20{
21
22void SetCuts()
23{
24 LOG(info) << "Setup global cuts and processes";
25
26 // ------>>>> IMPORTANT!!!!
27 // For a correct comparison between GEANE and MC (pull distributions)
28 // or for a simulation without the generation of secondary particles:
29 // 1. set LOSS = 2, DRAY = 0, BREM = 1
30 // 2. set the following cut values: CUTGAM, CUTELE, CUTNEU, CUTHAD, CUTMUO = 1 MeV or less
31 // BCUTE, BCUTM, DCUTE, DCUTM, PPCUTM = 10 TeV
32 // (For an explanation of the chosen values, please refer to the GEANT User's Guide
33 // or to message #5362 in the PandaRoot Forum >> Monte Carlo Engines >> g3Config.C thread)
34 //
35 // The default settings refer to a complete simulation which generates and follows also the secondary particles.
36
37 // \note All following settings could also be set in Cave since it is always loaded.
38 // Use MaterialManager to set processes and cuts
40 // This loads default cuts and processes if they are defined in the MaterialManagerParam.inputFile
41 // The cuts and processes below will only be set if they were not defined in the JSON
42 mgr.loadCutsAndProcessesFromJSON();
44
45 LOG(info) << "Set default settings for processes and cuts.";
46 mgr.DefaultProcesses({{EProc::kPAIR, params.PAIR},
47 {EProc::kCOMP, params.COMP},
48 {EProc::kPHOT, params.PHOT},
49 {EProc::kPFIS, params.PFIS},
50 {EProc::kDRAY, params.DRAY},
51 {EProc::kANNI, params.ANNI},
52 {EProc::kBREM, params.BREM},
53 {EProc::kHADR, params.HADR},
54 {EProc::kMUNU, params.MUNU},
55 {EProc::kDCAY, params.DCAY},
56 {EProc::kLOSS, params.LOSS},
57 {EProc::kMULS, params.MULS},
58 {EProc::kCKOV, params.CKOV}});
60 mgr.DefaultCuts({{ECut::kCUTGAM, params.CUTGAM},
61 {ECut::kCUTELE, params.CUTELE},
62 {ECut::kCUTNEU, params.CUTNEU},
63 {ECut::kCUTHAD, params.CUTHAD},
64 {ECut::kCUTMUO, params.CUTMUO},
65 {ECut::kBCUTE, params.BCUTE},
66 {ECut::kBCUTM, params.BCUTM},
67 {ECut::kDCUTE, params.DCUTE},
68 {ECut::kDCUTM, params.DCUTM},
69 {ECut::kPPCUTM, params.PPCUTM},
70 {ECut::kTOFMAX, params.TOFMAX}});
72 const char* settingProc = mgr.specialProcessesEnabled() ? "enabled" : "disabled";
73 const char* settingCut = mgr.specialCutsEnabled() ? "enabled" : "disabled";
74 LOG(info) << "Special process settings are " << settingProc << ".";
75 LOG(info) << "Special cut settings are " << settingCut << ".";
76}
77
78} // namespace o2
static MaterialManager & Instance()
GLenum const GLfloat * params
Definition glcorearb.h:272
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
void SetCuts()
Definition SetCuts.cxx:22
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"