FairRoot/PandaRoot
PndPatternDBMerger.h
Go to the documentation of this file.
1 /*
2  * PndPatternDBMerger.h
3  *
4  * Created on: Nov 15, 2017
5  * Author: vagrant
6  */
7 
8 #ifndef PNDTRACKERS_PNDPATTERNMATCHER_PNDPATTERNDBMERGER_H_
9 #define PNDTRACKERS_PNDPATTERNMATCHER_PNDPATTERNDBMERGER_H_
10 #include <PndPattern.h>
11 #include <TChain.h>
12 #include <TFile.h>
13 #include <TString.h>
14 #include <TTree.h>
15 
16 // number of identical entries, actual entries in file
17 typedef std::multimap<int, std::set<int>> IdenticalEntries;
18 
20 public:
22  virtual ~PndPatternDBMerger();
23 
25  void SetInputTreename(TString treename) {finputTreename = treename;}
27  void SetOutputTreename(TString treename) {foutputTreename = treename;}
28 
29  void Execute();
30 
31 private:
32  bool InitInputChain();
33  void InitOutputTree();
34 
36  std::vector<PndPattern> GetPatternsForMerging(std::pair<int, std::set<int>> entryPair);
37  PndPattern MergePatterns(std::vector<PndPattern> &entries);
38  void FillOutputTree(PndPattern &mergedPattern);
39 
40  TChain *fpatternTree;
41  TFile *foutputDBFile;
42  TTree *foutputTree;
43 
48 
51 
52 
53  ClassDef(PndPatternDBMerger,1)
54 };
55 
56 #endif /* PNDTRACKERS_PNDPATTERNMATCHER_PNDPATTERNDBMERGER_H_ */
PndPattern * bMergedPattern
void SetOutputFilename(TString filename)
std::vector< PndPattern > GetPatternsForMerging(std::pair< int, std::set< int >> entryPair)
void FillOutputTree(PndPattern &mergedPattern)
void SetInputFilename(TString filename)
std::multimap< int, std::set< int > > IdenticalEntries
void SetOutputTreename(TString treename)
void SetInputTreename(TString treename)
PndPattern MergePatterns(std::vector< PndPattern > &entries)
IdenticalEntries FindIdenticalEntries()
const string filename