10 #include "TClonesArray.h"
11 #include "TParticlePDG.h"
16 #include "FairRootManager.h"
18 #include "FairRuntimeDb.h"
19 #include "FairRunAna.h"
26 FairTask(
"MVDReadInTBDataTask"), fClockFrequency(50), fEvent(0)
40 FairRuntimeDb*
rtdb = FairRunAna::Instance()->GetRuntimeDb();
52 FairRootManager* ioman = FairRootManager::Instance();
53 std::cout <<
"PndMvdReadInTBDataTask::Init start of Init" << std::endl;
57 std::cout <<
"-E- PndMvdReadInTBDataTask::Init: "
58 <<
"RootManager not instantiated!" << std::endl;
63 std::cout <<
"PndMvdReadInTBDataTask::Init FileName: " <<
fFileNames[
i][0] << std::endl;
70 std::cout <<
"PndMvdReadInTBDataTask::Init before Reader Init" << std::endl;
74 fDigiArray = ioman->Register(
"ToPix4Hits",
"PndSdsDigiTopix4",
"MVD", kTRUE);
75 fFrameHeaderArray = ioman->Register(
"ToPix4FrameHeader",
"PndSdsDigiTopix4Header",
"MVD", kTRUE);
78 std::cout <<
"-I- PndMvdReadInTBDataTask: Initialisation successfull" << std::endl;
87 std::cout <<
"PndMvdReadInTBDataTask::Exec called - Event " <<std::dec<<
fEvent << std::endl;
94 std::cout << std::endl <<
"Reader: " <<
i <<
" running " << std::endl;
95 std::vector<std::vector<PndSdsDigiTopix4> > data;
100 Bool_t endOfFiles = kTRUE;
104 if (endOfFiles == kTRUE){
105 std::cout <<
"Number of: " << std::endl;
107 UInt_t nonSequential =
fReader[
i]->GetNonSequenctialFC();
108 std::cout <<
i <<
" : non sequential header " << nonSequential
109 <<
" double header: " <<
fReader[
i]->GetDoubleHeader()
110 <<
" double trailer: " <<
fReader[
i]->GetDoubleTrailer() << std::endl;
111 std::cout <<
i <<
" SuperFrameCount: " <<
fReader[
i]->GetSuperFrameCount() << std::endl;
113 std::cout <<
i <<
" Total Header Count : " <<
fReader[
i]->GetTotalHeaderCount() << std::endl;
114 std::cout <<
i <<
" Total Trailer Count : " <<
fReader[
i]->GetTotalTrailerCount() << std::endl;
116 std::cout <<
i <<
" Total (build) Frames : " <<
fReader[
i]->GetTotalFrameCount() << std::endl;
117 std::cout <<
i <<
" Hamming Loss Frame Count: " <<
fReader[
i]->GetHammingLossFrameCount() << std::endl;
118 std::cout <<
i <<
" CRC Loss Frame Count: " <<
fReader[
i]->GetCRCLossFrameCount() << std::endl;
119 std::cout <<
i <<
" Correct Frame Count: " <<
fReader[
i]->GetCorrectFrameCount() << std::endl;
121 std::cout <<
i <<
" Total Hits : " <<
fReader[
i]->GetTotalHitCount() << std::endl;
122 std::cout <<
i <<
" Pre Frame Loss Hit Count : " <<
fReader[
i]->GetPreFrameLossHitCount() << std::endl;
123 std::cout <<
i <<
" Hamming Loss Hit Count : " <<
fReader[
i]->GetHammingLossHitCount() << std::endl;
124 std::cout <<
i <<
" CRC Loss Hit Count : " <<
fReader[
i]->GetCRCLossHitCount() << std::endl;
125 std::cout <<
i <<
" Correct Hit Count : " <<
fReader[
i]->GetCorrectHitCount() << std::endl;
128 FairRootManager::Instance()->SetFinishRun(kTRUE);
142 for(
int i=0;
i< numberfrontends;
i++)
144 std::vector<std::string> vector;
156 for (
auto it1 : frames){
157 for(
auto it2 : it1) {
TClonesArray * fDigiArray
std::vector< Bool_t > fEndOfFile
Data class to store the digi output of a pixel module.
virtual void FinishEvent()
void SetNumberOfFrontEnds(Int_t numberfe)
virtual void Exec(Option_t *opt)
void WriteoutToPix4Frames(std::vector< std::vector< PndSdsDigiTopix4 > > &frames)
TClonesArray * fFrameHeaderArray
virtual void SetParContainers()
std::vector< PndMvdReadInToPix4TBData * > fReader
virtual InitStatus ReInit()
virtual ~PndMvdReadInTBDataTask()
void WriteoutToPix4Digi(PndSdsDigiTopix4 &data)
std::vector< std::vector< std::string > > fFileNames
virtual InitStatus Init()