PandaRoot
PndPatternMatcher.h
Go to the documentation of this file.
1 /*
2  * PatternMatcher.h
3  *
4  * Created on: Jun 16, 2017
5  * Author: Michael Papenbrock
6  */
7 
8 #ifndef PNDTRACKERS_PATTERNMATCHINGTESTS_PATTERNMATCHER_H_
9 #define PNDTRACKERS_PATTERNMATCHINGTESTS_PATTERNMATCHER_H_
10 
11 #include <FairTask.h>
12 #include <PndGeoSttPar.h>
13 #include <PndTrackCand.h>
14 #include <TClonesArray.h>
15 #include <TFile.h>
16 #include <TTree.h>
17 
18 class PndPatternMatcher : public FairTask {
19  public:
21  virtual ~PndPatternMatcher();
22 
23  void SetOutputBranchname(TString name) { fTrackCandName = name; }
24  void SetPersistence(Bool_t val) { fPersistence = val; }
25  void SetMatchRatio(float ratio) { fMatchRatio = ratio; }
26 
27  protected:
28  virtual void SetParContainers();
29  virtual InitStatus Init();
30  virtual void Exec(Option_t *opt);
31  virtual void FinishTask();
32 
33  private:
34  void LoadPatternDB(TString filename);
35  void FindMatch();
36  void CreateTrackCandFromMatch(std::set<int> partialMatch);
37 
38  // Input data
39  PndGeoSttPar *fSttParameters;
40  TClonesArray *fEventHeader;
41  TClonesArray *fSTTHitArray;
42 
43  TFile *dbFile;
44  TTree *patternTree;
45  std::vector<std::set<int>> dbTubeIDs;
46 
47  // Output data
48  std::vector<PndTrackCand> fPartialCand;
49  TClonesArray *fPartialMatchCand;
50  TString fTrackCandName;
51 
52  Bool_t fPersistence;
53 
54  bool verboseMatches;
55  float fMatchRatio;
56 
57  ClassDef(PndPatternMatcher, 1)
58 };
59 
60 #endif /* PNDTRACKERS_PATTERNMATCHINGTESTS_PATTERNMATCHER_H_ */
virtual void Exec(Option_t *opt)
void SetMatchRatio(float ratio)
virtual void SetParContainers()
void SetOutputBranchname(TString name)
virtual ~PndPatternMatcher()
void SetPersistence(Bool_t val)
virtual void FinishTask()
virtual InitStatus Init()