Project
Loading...
Searching...
No Matches
LumiInfo.h
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#ifndef _ALICEO2_CTP_LUMIINFO_H_
13#define _ALICEO2_CTP_LUMIINFO_H_
15#include <Rtypes.h>
16#include <cmath>
17
19
20namespace o2
21{
22namespace ctp
23{
24struct LumiInfo {
25 uint32_t orbit = 0; // orbit of TF when was updated
26 uint32_t nHBFCounted = 0; // length of interval in HB
27 uint32_t nHBFCountedFV0 = 0;
28 uint64_t counts = 0; // counts in the interval for the nominal lumi detector (FT0)
29 uint64_t countsFV0 = 0; // connts for FV0 (less reliable)
30 int inp1 = 3; // TVX
31 int inp2 = 6; // VBA
32 float getLumi() const { return nHBFCounted > 0 ? float(counts / (nHBFCounted * o2::constants::lhc::LHCOrbitMUS * 1e-6)) : 0.f; }
33 float getLumiFV0() const { return nHBFCountedFV0 > 0 ? float(countsFV0 / (nHBFCountedFV0 * o2::constants::lhc::LHCOrbitMUS * 1e-6)) : 0.f; }
34 float getLumiAlt() const { return getLumiFV0(); }
35 float getLumiError() const { return nHBFCounted > 0 ? float(std::sqrt(counts) / (nHBFCounted * o2::constants::lhc::LHCOrbitMUS * 1e-6)) : 0.f; }
36 float getLumiFV0Error() const { return nHBFCountedFV0 > 0 ? float(std::sqrt(countsFV0) / (nHBFCountedFV0 * o2::constants::lhc::LHCOrbitMUS * 1e-6)) : 0.f; }
37 float getLumiAltError() const { return getLumiFV0Error(); }
38 void printInputs() const;
40};
41} // namespace ctp
42
43} // namespace o2
44
45#endif // _ALICEO2_CTP_LUMIINFO_H_
Header to collect LHC related constants.
constexpr double LHCOrbitMUS
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
void printInputs() const
Definition LumiInfo.cxx:20
ClassDefNV(LumiInfo, 3)
uint64_t countsFV0
Definition LumiInfo.h:29
float getLumiAlt() const
Definition LumiInfo.h:34
uint64_t counts
Definition LumiInfo.h:28
uint32_t nHBFCounted
Definition LumiInfo.h:26
float getLumiFV0Error() const
Definition LumiInfo.h:36
uint32_t nHBFCountedFV0
Definition LumiInfo.h:27
float getLumiError() const
Definition LumiInfo.h:35
float getLumiAltError() const
Definition LumiInfo.h:37
float getLumi() const
Definition LumiInfo.h:32
float getLumiFV0() const
Definition LumiInfo.h:33
uint32_t orbit
Definition LumiInfo.h:25