Skip to content

Commit 70d9a50

Browse files
authored
Added TFborder and ITSROF cut parameters to CCDB (#5540)
* TFborder and ITSROF cut parameters for CCDB * Added new macro to upload custom event selection params
1 parent 27e0ed6 commit 70d9a50

File tree

3 files changed

+172
-7
lines changed

3 files changed

+172
-7
lines changed

Common/CCDB/EventSelectionParams.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,14 @@ class EventSelectionParams
140140
float fV0CasymA = -25.f;
141141
float fV0CasymB = 0.15f;
142142

143-
ClassDefNV(EventSelectionParams, 4)
143+
int fTimeFrameOrbitShift = 0; // shift of first orbit in TF wrt (SOR-OrbitReset)%TFDuration (in orbits)
144+
int fTimeFrameStartBorderMargin = 300; // number of bcs to cut in the beginning of TF
145+
int fTimeFrameEndBorderMargin = 4000; // number of bcs to cut at the end of TF
146+
147+
int fITSROFrameStartBorderMargin = 10; // number of bcs to cut in the beginning of ITS readout frame
148+
int fITSROFrameEndBorderMargin = 20; // number of bcs to cut in the end of ITS readout frame
149+
150+
ClassDefNV(EventSelectionParams, 5)
144151
};
145152

146153
#endif // COMMON_CCDB_EVENTSELECTIONPARAMS_H_
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
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 "CCDB/CcdbApi.h"
13+
#include "TString.h"
14+
#include "map"
15+
#include "string"
16+
#include "EventSelectionParams.h"
17+
using std::map;
18+
using std::string;
19+
20+
void fillMapOfCustomOrbitShifts(std::map<int, int>& mapOrbitShift);
21+
22+
void upload_event_selection_params_run3()
23+
{
24+
o2::ccdb::CcdbApi ccdb;
25+
ccdb.init("https://alice-ccdb.cern.ch");
26+
27+
std::map<int, int> mapOrbitShift;
28+
fillMapOfCustomOrbitShifts(mapOrbitShift);
29+
map<string, string> metadata, metadataRCT, header;
30+
31+
EventSelectionParams* params = new EventSelectionParams();
32+
params->fV0ABBlower = -3.0; // ns
33+
params->fV0ABBupper = +2.0; // ns
34+
params->fV0ABGlower = 2.0; // ns
35+
params->fV0ABGupper = 5.0; // ns
36+
params->fFDABBlower = -3.0; // ns
37+
params->fFDABBupper = +3.0; // ns
38+
params->fFDABGlower = 10.0; // ns
39+
params->fFDABGupper = 13.0; // ns
40+
params->fFDCBBlower = -3.0; // ns
41+
params->fFDCBBupper = +3.0; // ns
42+
params->fFDCBGlower = -10.0; // ns
43+
params->fFDCBGupper = -3.0; // ns
44+
params->fT0ABBlower = -1.0; // ns
45+
params->fT0ABBupper = +1.0; // ns
46+
params->fT0CBBlower = -1.0; // ns
47+
params->fT0CBBupper = +1.0; // ns
48+
49+
// default object
50+
bool uploadDefaultParameters = 1;
51+
if (uploadDefaultParameters) {
52+
LOGP(info, "Uploading default object");
53+
ULong64_t sorRun3 = 1543767116001;
54+
ULong64_t eorRun3 = 1893445200000;
55+
metadata["runNumber"] = "Default Run 3";
56+
ccdb.storeAsTFileAny(params, "EventSelection/EventSelectionParams", metadata, sorRun3, eorRun3);
57+
}
58+
59+
// fill param objects for runs with custom orbit shifts
60+
for (auto m : mapOrbitShift) {
61+
int run = m.first;
62+
int orbitShift = m.second;
63+
LOGP(info, "Uploading custom object for run = {}: orbitShift = {}", run, orbitShift);
64+
params->fTimeFrameOrbitShift = orbitShift;
65+
header = ccdb.retrieveHeaders(Form("RCT/Info/RunInformation/%i", run), metadataRCT, -1);
66+
ULong64_t sor = atol(header["SOR"].c_str());
67+
ULong64_t eor = atol(header["EOR"].c_str());
68+
metadata["runNumber"] = Form("%d", run);
69+
ccdb.storeAsTFileAny(params, "EventSelection/EventSelectionParams", metadata, sor, eor + 10000); // adding tolerance of 10s to eor
70+
}
71+
}
72+
73+
// map of custom orbit shifts of the first orbit in TF wrt (SOR-OrbitReset)%TFDuration (in orbits)
74+
void fillMapOfCustomOrbitShifts(std::map<int, int>& mapOrbitShift)
75+
{
76+
mapOrbitShift[517619] = 109;
77+
mapOrbitShift[517620] = 109;
78+
mapOrbitShift[517623] = 109;
79+
mapOrbitShift[517677] = 127;
80+
mapOrbitShift[517678] = 127;
81+
mapOrbitShift[517679] = 127;
82+
mapOrbitShift[517685] = 127;
83+
mapOrbitShift[517690] = 127;
84+
mapOrbitShift[517693] = 127;
85+
mapOrbitShift[517737] = 127;
86+
mapOrbitShift[517748] = 127;
87+
mapOrbitShift[517751] = 127;
88+
mapOrbitShift[517753] = 127;
89+
mapOrbitShift[517758] = 127;
90+
mapOrbitShift[517767] = 127;
91+
mapOrbitShift[518541] = 40;
92+
mapOrbitShift[518543] = 92;
93+
mapOrbitShift[518546] = 124;
94+
mapOrbitShift[518547] = 47;
95+
mapOrbitShift[519041] = 59;
96+
mapOrbitShift[519043] = 59;
97+
mapOrbitShift[519045] = 59;
98+
mapOrbitShift[519497] = 86;
99+
mapOrbitShift[519498] = 86;
100+
mapOrbitShift[519499] = 86;
101+
mapOrbitShift[519502] = 86;
102+
mapOrbitShift[519503] = 86;
103+
mapOrbitShift[519504] = 86;
104+
mapOrbitShift[519506] = 86;
105+
mapOrbitShift[519507] = 86;
106+
mapOrbitShift[519903] = 62;
107+
mapOrbitShift[519904] = 62;
108+
mapOrbitShift[519905] = 62;
109+
mapOrbitShift[519906] = 62;
110+
mapOrbitShift[520259] = 76;
111+
mapOrbitShift[520294] = 76;
112+
mapOrbitShift[520471] = 46;
113+
mapOrbitShift[520472] = 46;
114+
mapOrbitShift[520473] = 46;
115+
mapOrbitShift[523142] = 127;
116+
mapOrbitShift[523148] = 127;
117+
mapOrbitShift[523182] = 127;
118+
mapOrbitShift[523186] = 127;
119+
mapOrbitShift[523298] = 28;
120+
mapOrbitShift[523306] = 28;
121+
mapOrbitShift[523308] = 28;
122+
mapOrbitShift[523309] = 28;
123+
mapOrbitShift[523397] = 110;
124+
mapOrbitShift[523399] = 110;
125+
mapOrbitShift[523401] = 110;
126+
mapOrbitShift[523441] = 117;
127+
mapOrbitShift[523541] = 103;
128+
mapOrbitShift[523559] = 103;
129+
mapOrbitShift[523669] = 39;
130+
mapOrbitShift[523671] = 39;
131+
mapOrbitShift[523677] = 39;
132+
mapOrbitShift[523728] = 113;
133+
mapOrbitShift[523731] = 113;
134+
mapOrbitShift[523779] = 41;
135+
mapOrbitShift[523783] = 41;
136+
mapOrbitShift[523786] = 41;
137+
mapOrbitShift[523788] = 41;
138+
mapOrbitShift[523789] = 41;
139+
mapOrbitShift[523792] = 41;
140+
mapOrbitShift[523797] = 41;
141+
mapOrbitShift[523821] = 36;
142+
mapOrbitShift[523897] = 38;
143+
}

Common/CCDB/macros/upload_trigger_aliases_run3.C

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,26 @@ void createDefaultAliases(map<int, TString>& mAliases)
2727
mAliases[kEMC7] = "CTVXEMC-B-NOPF-EMC";
2828
mAliases[kDMC7] = "CTVXDMC-B-NOPF-EMC";
2929
mAliases[kTVXinTRD] = "CMTVX-B-NOPF-TRD,minbias_TVX";
30-
mAliases[kTVXinEMC] = "C0TVX-B-NOPF-EMC,minbias_TVX_L0";
31-
mAliases[kTVXinPHOS] = "C0TVX-B-NOPF-PHSCPV,minbias_TVX_L0";
32-
mAliases[kTVXinHMP] = "C0TVX-B-NOPF-HMP,minbias_TVX_L0";
33-
mAliases[kPHOS] = "CTVXPH0-B-NOPF-PHSCPV,mb_PH0_TVX";
30+
mAliases[kTVXinEMC] = "C0TVX-B-NOPF-EMC,minbias_TVX_L0,CMTVXTSC-B-NOPF-EMC,CMTVXTCE-B-NOPF-EMC";
31+
mAliases[kTVXinPHOS] = "C0TVX-B-NOPF-PHSCPV,minbias_TVX_L0,CMTVXTSC-B-NOPF-PHSCPV,CMTVXTSC-B-NOPF-PHSCPV";
32+
mAliases[kTVXinHMP] = "C0TVX-B-NOPF-HMP,minbias_TVX_L0,CMTVXTSC-B-NOPF-HMP";
33+
mAliases[kPHOS] = "CTVXPH0-B-NOPF-PHSCPV,mb_PH0_TVX,CPH0SC-B-NOPF-PHSCPV,CPH0CE-B-NOPF-PHSCPV";
34+
}
35+
36+
void createPbPbAliases(map<int, TString>& mAliases)
37+
{
38+
mAliases[kTVXinTRD] = "CMTVXTSC-B-NOPF-TRD,CMTVXTCE-B-NOPF-TRD";
39+
mAliases[kTVXinEMC] = "CMTVXTSC-B-NOPF-EMC,CMTVXTCE-B-NOPF-EMC,C0TVXTSC-B-NOPF-EMC,C0TVXTCE-B-NOPF-EMC";
40+
mAliases[kTVXinPHOS] = "CMTVXTSC-B-NOPF-PHSCPV,CMTVXTCE-B-NOPF-PHSCPV,C0TVXTSC-B-NOPF-PHSCPV,C0TVXTCE-B-NOPF-PHSCPV";
41+
mAliases[kTVXinHMP] = "CMTVXTSC-B-NOPF-HMP,CMTVXTCE-B-NOPF-HMP";
42+
mAliases[kPHOS] = "CPH0SC-B-NOPF-PHSCPV,CPH0CE-B-NOPF-PHSCPV";
3443
}
3544

3645
void upload_trigger_aliases_run3()
3746
{
3847
map<int, TString> mAliases;
39-
createDefaultAliases(mAliases);
48+
// createDefaultAliases(mAliases);
49+
createPbPbAliases(mAliases);
4050

4151
TObjArray* classNames[kNaliases];
4252
for (auto& al : mAliases) {
@@ -51,7 +61,7 @@ void upload_trigger_aliases_run3()
5161
map<string, string> metadata, metadataRCT, header;
5262

5363
// read list of runs from text file
54-
std::ifstream f("runs_run3.txt");
64+
std::ifstream f("run3_pbpb2023.txt");
5565
std::vector<int> runs;
5666
int r = 0;
5767
while (f >> r) {
@@ -68,6 +78,11 @@ void upload_trigger_aliases_run3()
6878

6979
for (auto& run : runs) {
7080
LOGP(info, "run = {}", run);
81+
82+
// if (run != 535983)
83+
// continue; // already filled
84+
// if (run <= 539580)
85+
// continue; // already filled
7186
if (run < 519903)
7287
continue; // no CTP info
7388
if (run == 527349)

0 commit comments

Comments
 (0)