PandaRoot
OnlineDBuilderTask.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PNDMCMATCHSELECTORTASK header file -----
3 // ----- Created 18/01/10 by T.Stockmanns -----
4 // -------------------------------------------------------------------------
5 
12 #ifndef OnlineDBuilderTask_H
13 #define OnlineDBuilderTask_H
14 
15 // framework includes
16 #include "FairTask.h"
17 #include "PndDetectorList.h"
18 #include "PndTrackCand.h"
19 #include "TH2.h"
20 #include "THStack.h"
21 
22 #include "TLorentzVector.h"
23 
24 #include <vector>
25 #include <map>
26 
27 class TClonesArray;
28 class PndTrack;
29 class FairTrackParP;
30 
31 class OnlineDBuilderTask : public FairTask {
32  public:
34  OnlineDBuilderTask(TString trackBranchName);
35 
37  virtual ~OnlineDBuilderTask();
38 
40  virtual void SetParContainers();
41  virtual InitStatus Init();
42  virtual void AddTrackBranch(TString trackBranchName) { fTrack[trackBranchName] = 0; }
43 
45  virtual void Exec(Option_t *opt);
46 
47  virtual void Finish();
48 
50  // void SetTrackBranchName(TString name) {fTrackBranchName = name;} //alternatively PndTrackCandData can be analysed. Therefore pndTrackData has to be set to kFALSE
51 
52  private:
53  //
54  // virtual void FillMapTrackQualifikation();
55 
64  std::vector<std::pair<TLorentzVector, int>> CombineFirstWithTwoSecond(std::vector<PndTrack *> first, std::vector<PndTrack *> second);
65  TVector3 CorrectTrackParForPrimaryVertex(FairTrackParP input);
66  std::map<TString, TClonesArray *> fTrack;
67  TClonesArray *fMCTrack;
68 
69  TClonesArray *fDPlusArray;
70  TClonesArray *fDMinusArray;
71 
72  TClonesArray *fDPlusArrayTrue;
73  TClonesArray *fDMinusArrayTrue;
74 
75  FairRootManager *ioman;
76 
77  void Register();
78 
79  void Reset();
80 
81  ClassDef(OnlineDBuilderTask, 1);
82 };
83 
84 #endif
virtual void SetParContainers()
virtual void AddTrackBranch(TString trackBranchName)
virtual InitStatus Init()
virtual void Finish()
OnlineDBuilderTask(TString trackBranchName)
virtual void Exec(Option_t *opt)
virtual ~OnlineDBuilderTask()