BmnRoot
Loading...
Searching...
No Matches
BmnHodoReconstructor.h
Go to the documentation of this file.
1
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
33class BmnHodoReconstructor : public BmnTask
34{
35 public:
36 BmnHodoReconstructor(const std::string& config, bool isExp);
38
39 virtual InitStatus Init();
40 void SetRecoCutsFile(const std::string& cuts);
41 virtual void Exec(Option_t* opt);
42 virtual void Finish();
43
44 virtual void OnlineWrite(const std::unique_ptr<TTree>& resultTree);
45
46 private:
47 FairRootManager* fpFairRootMgr = nullptr;
48 TClonesArray* fArrayOfDigits; // input
49
50 // --- processing pipeline steps ---
51 std::vector<BmnHodoDigit*> GetDenoisedDigis(); // noise filtering
52 std::vector<BmnHodoDigit*> DesaturateDigis(const std::vector<BmnHodoDigit*>& input) const;
53 std::vector<BmnHodoDigit*> ResolvePileup(const std::vector<BmnHodoDigit*>& input);
54 std::unordered_map<uint32_t, std::vector<BmnHodoDigit*>> BuildFilteredStripMap(); // strip to digi vec
55
56 std::unordered_map<uint32_t, Kernel> fuoResolutionMap; // Address to resolution function
57 BmnHodoEvent* fBmnHodoEvent = nullptr; // output
58
59 BmnHodoCuts* fCuts = nullptr;
60 bool fIsExp;
61 float fworkTime;
62
63 void ParseConfig(const string& input);
64
65 ClassDef(BmnHodoReconstructor, 3);
66};
67
68#endif /* BMNHODORECONSTRUCTOR_H */
Class for Bmn Hodo data container in event.
Class for BmnHodoEvent reconstruction (creation) from BmnHodoDigi {Data} or BmnHodoDigit {Sim}.
virtual void Exec(Option_t *opt)
void SetRecoCutsFile(const std::string &cuts)
BmnHodoReconstructor(const std::string &config, bool isExp)
virtual void OnlineWrite(const std::unique_ptr< TTree > &resultTree)
Write task resul to tree.
virtual void Finish()
virtual InitStatus Init()
BmnTask.
Definition BmnTask.h:13