Project
Loading...
Searching...
No Matches
EntropyDecoderSpec.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
14
15#ifndef O2_ITSMFT_ENTROPYDECODER_SPEC
16#define O2_ITSMFT_ENTROPYDECODER_SPEC
17
19#include "Framework/Task.h"
20#include "Headers/DataHeader.h"
24#include <TStopwatch.h>
25#include <memory>
26
27namespace o2
28{
29namespace itsmft
30{
31
32template <int N>
34{
35 public:
36 EntropyDecoderSpec(int verbosity, bool doStag, bool getDigits = false, const std::string& ctfdictOpt = "none");
37 ~EntropyDecoderSpec() override = default;
38 void init(o2::framework::InitContext& ic) final;
41 void finaliseCCDB(o2::framework::ConcreteDataMatcher& matcher, void* obj) final;
42
43 static std::string getBinding(const std::string& name, int spec);
46
47 private:
48 void updateTimeDependentParams(o2::framework::ProcessingContext& pc);
49
51 const NoiseMap* mNoiseMap = nullptr;
52 LookUp mPattIdConverter;
53 bool mDoStaggering{false};
54 bool mGetDigits{false};
55 bool mMaskNoise{false};
56 bool mUseClusterDictionary{true};
57
58 std::string mCTFDictPath{};
59 TStopwatch mTimer;
60};
61
63framework::DataProcessorSpec getITSEntropyDecoderSpec(int verbosity, bool doStag, bool getDigits, unsigned int sspec, const std::string& ctfdictOpt);
64framework::DataProcessorSpec getMFTEntropyDecoderSpec(int verbosity, bool doStag, bool getDigits, unsigned int sspec, const std::string& ctfdictOpt);
65
66} // namespace itsmft
67} // namespace o2
68
69#endif
#define verbosity
class for entropy encoding/decoding of ITS/MFT compressed clusters data
Definition of the LookUp class.
Definition of the ITSMFT NoiseMap.
Static class with identifiers, bitmasks and names for ALICE detectors.
Definition DetID.h:58
static constexpr ID ITS
Definition DetID.h:63
static constexpr ID MFT
Definition DetID.h:71
void endOfStream(o2::framework::EndOfStreamContext &ec) final
This is invoked whenever we have an EndOfStream event.
static constexpr o2::detectors::DetID ID
static std::string getBinding(const std::string &name, int spec)
void init(o2::framework::InitContext &ic) final
void run(o2::framework::ProcessingContext &pc) final
static constexpr o2::header::DataOrigin Origin
~EntropyDecoderSpec() override=default
void finaliseCCDB(o2::framework::ConcreteDataMatcher &matcher, void *obj) final
NoiseMap class for the ITS and MFT.
Definition NoiseMap.h:39
GLuint const GLchar * name
Definition glcorearb.h:781
constexpr o2::header::DataOrigin gDataOriginMFT
Definition DataHeader.h:572
constexpr o2::header::DataOrigin gDataOriginITS
Definition DataHeader.h:570
framework::DataProcessorSpec getMFTEntropyDecoderSpec(int verbosity, bool doStag, bool getDigits, unsigned int sspec, const std::string &ctfdictOpt)
framework::DataProcessorSpec getITSEntropyDecoderSpec(int verbosity, bool doStag, bool getDigits, unsigned int sspec, const std::string &ctfdictOpt)
create a processor spec
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...