Project
Loading...
Searching...
No Matches
TestDataReader.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
13
14#ifndef O2_ITS_TESTDATAREADER_FLOW
15#define O2_ITS_TESTDATAREADER_FLOW
16
17#include <vector>
18#include <deque>
19#include <memory>
20#include "Rtypes.h" // for Digitizer::Class, Double_t, ClassDef, etc
21#include "TObject.h" // for TObject
22#include "TGaxis.h"
23
24#include "TFile.h"
25
27#include "Framework/Task.h"
29
32#include <fstream>
34#include "Framework/Task.h"
36#include "RootInclude.h"
37
48#include <chrono>
49#include <thread>
50
51using namespace o2::framework;
52
53namespace o2
54{
55namespace its
56{
57
58class TestDataReader : public Task
59{
62
63 public:
64 TestDataReader() = default;
65 ~TestDataReader() override = default;
66 void init(InitContext& ic) final;
67 void run(ProcessingContext& pc) final;
68 void setNChips(int n)
69 {
70 mChips.resize(n);
71 }
72 std::vector<std::string> GetFName(std::string folder);
73
74 private:
75 std::unique_ptr<TFile> mFile = nullptr;
77 // o2::itsmft::ChipPixelData mChipData;
78 // std::size_t rofEntry = 0, nrofdig = 0;
79 // std::unique_ptr<TFile> outFileDig;
80 // std::unique_ptr<TTree> outTreeDig; // output tree with digits
81 // std::unique_ptr<TTree> outTreeROF; // output tree with ROF records
82 std::vector<ChipPixelData> mChips;
83 std::vector<o2::itsmft::Digit> mDigits;
84 std::vector<o2::itsmft::Digit> mMultiDigits;
85
86 ChipPixelData* mChipData = nullptr;
87 std::string mInputName = "Split9.bin";
88 size_t mIndexPush;
89 // int mPixelSize;
90 std::vector<int> mNDigits;
91 std::vector<std::string> mFolderNames;
92 std::vector<std::string> mNowFolderNames;
93 std::vector<std::vector<std::string>> mFileNames;
94 std::vector<std::vector<std::string>> mNowFileNames;
95 std::vector<std::string> mDiffFolderName;
96 std::vector<std::string> mDiffFileNamePush;
97 std::vector<std::vector<std::string>> mDiffFileNames;
98 std::vector<std::string> NewNextFold;
99 std::string mWorkDir;
100 std ::string mRunType;
101
102 int mResetCommand;
103 std::string mRunID;
104 int mNEvent;
105 int mEventPerPush;
106 int mEventRegistered;
107 int mTotalPixelSize;
108 static constexpr int sNError = 11;
109 // unsigned int Error[sNError];
110 std::array<unsigned int, sNError> mErrors;
111 std::vector<std::array<unsigned int, sNError>> mErrorsVec;
112 std::vector<std::array<unsigned int, sNError>> mErrorsVecTest;
113 // int pos;
114 // int j;
115 int mFileDone;
116 int mFileID;
117 int mRunNumber;
118 int mTrackError;
119 int mIndexPushEx;
120 int mFileRemain;
121 int mFileInfo;
122 // Immediate Injection Variables//
123
124 int mNewFileInj;
125 // int mNewFileInjAction;
126 std::vector<o2::itsmft::Digit> mDigitsTest;
127 std::vector<o2::itsmft::Digit> mMultiDigitsTest;
128 int mMaxPixelSize;
129
130 static const std::string sRunTypeFileName;
131 static const std::string sFakeRateDefConfig;
132 static const std::string sThresholdDefConfig;
133};
134
138
139} // namespace its
140} // namespace o2
141
142#endif /* O2_ITS_RAWPIXELREADER_FLOW */
Definition of the ITSMFT digit.
Definition of the GeometryManager class.
Definition of the Alpide pixel reader for MC digits processing.
Definition of the GeometryTGeo class.
Definition of the ITSMFT ROFrame (trigger) record.
Definition of the ITS cluster finder.
Declaration of class for continuos buffer of ALPIDE data.
Transient data classes for single pixel and set of pixels from current chip.
Definition of the Alpide pixel reader for raw data processing.
void init(InitContext &ic) final
~TestDataReader() override=default
std::vector< std::string > GetFName(std::string folder)
void run(ProcessingContext &pc) final
PixelReader class for the ITSMFT.
Definition PixelReader.h:34
GLdouble n
Definition glcorearb.h:1982
Defining PrimaryVertex explicitly as messageable.
Definition TFIDInfo.h:20
framework::DataProcessorSpec getTestDataReaderSpec()
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...