FairRoot/PandaRoot
PndLmdPairFinderTask.h
Go to the documentation of this file.
1 /*
2  * PairFinderTask.h
3  *
4  * Created on: Jul 22, 2014
5  * Author: Roman Klasen, roklasen@uni-mainz.de or klasen@kph.uni-mainz.de
6  */
7 
8 #ifndef PNDLMDPAIRFINDERTASK_H_
9 #define PNDLMDPAIRFINDERTASK_H_
10 
11 #include "PndLmdAlignStructs.h"
12 #include <PndLmdHitPair.h>
13 #include <PndSdsHit.h>
14 #include "PndSdsTask.h"
15 
16 #include "TClonesArray.h"
17 
18 #include <iostream>
19 #include <string>
20 #include <vector>
21 
23 
25 
26 private:
27 
28  //for statistics
34  Int_t unsuitable;
36  Int_t noOfCombos;
37 
39 
41 
43 
44 public:
45 
46  void SetParContainers();
47 
49  PndLmdPairFinderTask(const char* name);
50  virtual ~PndLmdPairFinderTask();
51 
53  virtual void SetBranchNames();
54 
56  virtual InitStatus Init();
57  virtual InitStatus ReInit();
58 
60  virtual void Exec(Option_t* opt);
61 
62  virtual void FinishEvent();
63  virtual void FinishTask();
64 
65  // apply distance cut, will be ignored when using dynamic cut
66  void setMaxDistance(Double_t value) {
67  _maxDistance = value;
68  }
69 
70  void ignoreClusters(Bool_t value) {
71  _ignoreClusters = value;
72  }
73 
74 protected:
75 
76  //PndLmdDim* dimension;
77 
79 
80  TClonesArray* digiArray;
81  TClonesArray* recoArray;
82  TClonesArray* hitPairArray;
83  TClonesArray* clusterCandidateArray;
84 
87 
88  std::map<int, TClonesArray*> hitPairMap;
89 
90  void Register();
91  void Reset();
92 
93  //function to return result of all checks, distance cut etc.
94  void getStatistics(PndLmdHitPair &candidate);
95 
96  bool pairDistanceValid(PndLmdHitPair &candidate);
97 
98  //self explanatory
99  bool candHitsOverlappingArea(const PndLmdHitPair &candidate);
100 
102  ;
103 };
104 
105 #endif /* PAIRFINDERTASK_H_ */
void ignoreClusters(Bool_t value)
virtual InitStatus ReInit()
std::map< int, TClonesArray * > hitPairMap
bool pairDistanceValid(PndLmdHitPair &candidate)
virtual InitStatus Init()
void getStatistics(PndLmdHitPair &candidate)
pixelHit getPixelHitFromSdsHit(PndSdsHit *sdsHit)
TClonesArray * clusterCandidateArray
PndLmdGeometryHelper * helper
ClassDef(PndLmdPairFinderTask, 20)
Double_t
TString name
bool candHitsOverlappingArea(const PndLmdHitPair &candidate)
void setMaxDistance(Double_t value)
virtual void Exec(Option_t *opt)