Project
Loading...
Searching...
No Matches
IonTailCorrection.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
16
17#ifndef TPC_IonTailCorrection_H_
18#define TPC_IonTailCorrection_H_
19
20#include <memory>
21#include <vector>
22
23#include "Rtypes.h"
26#include "TPCBase/CalDet.h"
27
28namespace o2::tpc
29{
30
32{
33 public:
35 void filterDigitsDirect(std::vector<Digit>& digits);
36
40 void exponentialFilter(std::vector<float>& in, std::vector<float>* out = nullptr);
41
43 static void sortDigitsOneSectorPerPad(std::vector<Digit>& digits);
44
47 static void sortDigitsOneSectorPerTimeBin(std::vector<Digit>& digits);
48
49 void setITMultFactor(float multFactor) { mITMultFactor = multFactor; }
50 float getITMultFactor() const { return mITMultFactor; }
51
52 void setSign(float sign) { mSign = sign; }
53 float getSign() const { return mSign; }
54
55 void loadITPadValuesFromFile(std::string_view itParamFile);
56
57 void streamData(int cru, int row, int pad, int time, int lastTime, float kAmp, float kTime, float tailSlopeUnit, float origCumul, float cumul, float origCharge, float charge);
58
59 private:
60 float mITMultFactor = 1;
61 float mKTime = 0.0515;
62 float mSign = -1.f;
63 std::unique_ptr<CalDet<float>> mFraction;
64 std::unique_ptr<CalDet<float>> mExpLambda;
65 o2::utils::DebugStreamer mStreamer;
66
67 ClassDefNV(IonTailCorrection, 0);
68};
69} // namespace o2::tpc
70#endif
Definition of the TPC Digit.
Definition of class for writing debug informations.
int16_t charge
Definition RawEventData.h:5
int16_t time
Definition RawEventData.h:4
static void sortDigitsOneSectorPerTimeBin(std::vector< Digit > &digits)
void setITMultFactor(float multFactor)
void streamData(int cru, int row, int pad, int time, int lastTime, float kAmp, float kTime, float tailSlopeUnit, float origCumul, float cumul, float origCharge, float charge)
void filterDigitsDirect(std::vector< Digit > &digits)
static void sortDigitsOneSectorPerPad(std::vector< Digit > &digits)
Sort digits of a single sector per pad in increasing time bin order.
void loadITPadValuesFromFile(std::string_view itParamFile)
void exponentialFilter(std::vector< float > &in, std::vector< float > *out=nullptr)
class to enable streaming debug information to root files
Global TPC definitions and constants.
Definition SimTraits.h:167
std::vector< Digit > digits
std::vector< int > row