Project
Loading...
Searching...
No Matches
CorrectionMapsLoader.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
15
16#ifndef TPC_CORRECTION_MAPS_LOADER_H_
17#define TPC_CORRECTION_MAPS_LOADER_H_
18
19#include <vector>
21#include "CorrectionMapsTypes.h"
23
24namespace o2
25{
26namespace framework
27{
28class ProcessingContext;
30class InputSpec;
31class ConfigParamSpec;
32class InitContext;
33} // namespace framework
34
35namespace tpc
36{
37
39{
40 public:
44
45 bool accountCCDBInputs(const o2::framework::ConcreteDataMatcher& matcher, void* obj);
46 void extractCCDBInputs(o2::framework::ProcessingContext& pc, float tpcScaler = -1.f);
47 void init(o2::framework::InitContext& ic, bool idcsAvailable);
48 void checkMeanScaleConsistency(float meanLumi, float threshold) const;
49
50 static void requestCCDBInputs(std::vector<o2::framework::InputSpec>& inputs, const o2::tpc::CorrectionMapsGloOpts& gloOpts);
53 const auto& getSectorEdgeFlucInfo() const { return mSecEdgeFlucInfo; }
54
55 protected:
56 static void addOption(std::vector<o2::framework::ConfigParamSpec>& options, o2::framework::ConfigParamSpec&& osp);
57 static void addInput(std::vector<o2::framework::InputSpec>& inputs, o2::framework::InputSpec&& isp);
58
59 float mInstLumiCTPFactor = 1.0; // multiplicative factor for inst. lumi
60 int mLumiCTPSource = 0; // 0: main, 1: alternative CTP lumi source
61 bool mIDC2CTPFallbackActive = false; // flag indicating that fallback from IDC to CTP scaling is active
62 o2::tpc::SectorEdgeFluctuations mSecEdgeFlucInfo; // definition of sector edge fluctuation distortion map scaling
63 bool mApplySecEdgeFlucCorr = true; // flag indicating if sector edge fluctuation correction is enabled
64};
65
66} // namespace tpc
67
68} // namespace o2
69
70#endif
Helper class to access correction maps.
Helper class for enums and structs related to the correction maps.
Class to parse and query time-dependent TPC sector edge fluctuation intervals.
o2::tpc::SectorEdgeFluctuations mSecEdgeFlucInfo
bool accountCCDBInputs(const o2::framework::ConcreteDataMatcher &matcher, void *obj)
void extractCCDBInputs(o2::framework::ProcessingContext &pc, float tpcScaler=-1.f)
void init(o2::framework::InitContext &ic, bool idcsAvailable)
CorrectionMapsLoader(const CorrectionMapsLoader &)=delete
static void addOption(std::vector< o2::framework::ConfigParamSpec > &options, o2::framework::ConfigParamSpec &&osp)
static void requestCCDBInputs(std::vector< o2::framework::InputSpec > &inputs, const o2::tpc::CorrectionMapsGloOpts &gloOpts)
const auto & getSectorEdgeFlucInfo() const
void checkMeanScaleConsistency(float meanLumi, float threshold) const
void enableSecEdgeFlucCorrection(const bool enable=true)
static void addInput(std::vector< o2::framework::InputSpec > &inputs, o2::framework::InputSpec &&isp)
GLboolean enable
Definition glcorearb.h:3991
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...