BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnHodoReconstructor.h
Go to the documentation of this file.
1/** \file BmnHodoReconstructor.h
2 ** \author Nikolay Karpushkin <karpushkin@inr.ru>
3 ** \date 03.04.2021
4 **/
5
6/** \class BmnHodoReconstructor
7 ** \brief Class for BmnHodoEvent reconstruction (creation) from BmnHodoDigi {Data} or BmnHodoDigit {Sim}
8 ** \version 1.0
9 **/
10
11#ifndef BMNHODORECONSTRUCTOR_H
12#define BMNHODORECONSTRUCTOR_H
13
14#include "BmnHodoCuts.h"
15#include "BmnHodoDigi.h"
16#include "BmnHodoDigit.h"
17#include "BmnHodoEvent.h"
18#include "BmnHodoRaw2Digit.h"
19#include "BmnHodoResolution.h"
20#include "BmnHodoStrip.h"
21#include "BmnTask.h"
22#include "FairLogger.h"
23#include "FairRootManager.h"
24
25#include <TClonesArray.h>
26#include <TStopwatch.h>
27#include <fstream>
28#include <iostream>
29#include <unordered_map>
30
32
34{
35 public:
36 BmnHodoReconstructor(bool isExp);
38
39 virtual InitStatus Init();
40 void ParseGeometry();
41 void SetRecoCutsFile(const std::string& cuts);
42 virtual void Exec(Option_t* opt);
43 virtual void Finish();
44
45 virtual void OnlineWrite(const std::unique_ptr<TTree>& resultTree);
46
47 private:
48 FairRootManager* fpFairRootMgr = nullptr;
50
51 std::vector<BmnHodoDigit*> GetDenoisedDigis(); // noise filtering
52 void MarkPileup(const std::vector<BmnHodoDigit*>& input);
53 void BuildFilteredStripMap(); // strip to digi vec
54 void ProcessStrip(BmnHodoStrip& strip);
55
56 BmnHodoEvent* fBmnHodoEvent = nullptr; // output
57 BmnHodoCuts* fCuts = nullptr;
58 bool fIsExp;
59 float fworkTime;
60
62};
63
64#endif /* BMNHODORECONSTRUCTOR_H */
const char Option_t
#define ClassDef(name, id)
FairRootManager * fpFairRootMgr
void SetRecoCutsFile(const std::string &cuts)
void MarkPileup(const std::vector< BmnHodoDigit * > &input)
virtual void OnlineWrite(const std::unique_ptr< TTree > &resultTree)
Write task resul to tree.
std::vector< BmnHodoDigit * > GetDenoisedDigis()
virtual InitStatus Init()
void ProcessStrip(BmnHodoStrip &strip)
virtual void Exec(Option_t *opt)
BmnTask()
Default constructor.
Definition BmnTask.cxx:3