FairRoot/PandaRoot
PndTrackSmearTask.h
Go to the documentation of this file.
1 /*
2  * PndTrackSmearTask.h
3  *
4  * \brief Task to flag or to remove tracks with missing Pz information
5  *
6  * This task takes as an input any PndTrack branch. It goes through all the tracks. For those tracks only consisting of STTHits
7  * and with a ParamFirst::pz value between 0.015 and 0.025 it either sets the PndTrack::fFlag to -30 or deletes the track.
8  * What action is taken is selected by SetRemoveTrack(). If SetRemoveTrack is set to kTRUE the track is deleted otherwise flaged.
9  * The filtered PndTracks are written in an output branch either with a given name by SetOutputTrackBranch() of, if no branch name is
10  * given by InputTrackBranchName + "_filtered".
11  *
12  * Created on: 22.3.2017
13  * Author: t.stockmanns
14  */
15 
16 #ifndef PndTrackSmearTask_H_
17 #define PndTrackSmearTask_H_
18 
19 #include "PndPersistencyTask.h"
20 #include "TString.h"
21 #include "TVector3.h"
22 #include "FairTrackParP.h"
23 
24 class TClonesArray;
25 
27 public:
29  : PndPersistencyTask("Missing Pz Track Cleaner Task"), fInputTrackBranches(), fOutputTrackBranches(),fTracks(0),fMomSigma(0.03,0.03,0.03)
30  {SetPersistency(kTRUE); };
31 
32  PndTrackSmearTask(const TString& branchName)
33  : PndPersistencyTask("Missing Pz Track Cleaner Task"), fInputTrackBranches(), fOutputTrackBranches(),fTracks(0),fMomSigma(0.03,0.03,0.03)
34  {SetPersistency(kTRUE); AddInputTrackBranch(branchName);};
35 
36  virtual ~PndTrackSmearTask(){};
37 
39  virtual void SetParContainers();
40  virtual InitStatus Init();
41 
43  virtual void Exec(Option_t* opt);
44  virtual void FinishEvent();
45  virtual void Finish();
46 
47  void SetMomSmearing(TVector3 dpop){fMomSigma=dpop;}
48  void AddInputTrackBranch(const TString& name) { fInputTrackBranches.push_back(name); fOutputTrackBranches.push_back(name+"_fakeonline");}
49  void SetPersistence(const Bool_t& val) { SetPersistency(val);}
50 
51 private:
52  FairTrackParP SmearTrackPar(FairTrackParP par);
53  void SmearMom(TVector3 &vec, Double_t Cov66[6][6]);
54 
55  std::vector<TString> fInputTrackBranches;
56  std::vector<TString> fOutputTrackBranches;
57  std::vector<TClonesArray*> fTracks;
58  std::vector<TClonesArray*> fOutputTracks;
59 
60  TVector3 fMomSigma;
61 
63 
64 };
65 
66 #endif /* PndTrackSmearTask_H_ */
virtual void FinishEvent()
virtual void Exec(Option_t *opt)
virtual ~PndTrackSmearTask()
PndTrackSmearTask(const TString &branchName)
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
Double_t par[3]
void SetPersistency(Bool_t val=kTRUE)
std::vector< TString > fInputTrackBranches
void SmearMom(TVector3 &vec, Double_t Cov66[6][6])
virtual InitStatus Init()
void SetPersistence(const Bool_t &val)
Double_t
void AddInputTrackBranch(const TString &name)
std::vector< TClonesArray * > fTracks
virtual void SetParContainers()
std::vector< TClonesArray * > fOutputTracks
FairTrackParP SmearTrackPar(FairTrackParP par)
TString name
std::vector< TString > fOutputTrackBranches
TVector3 fMomSigma
Momentum smearing sigma (dp/p)
ClassDef(PndTrackSmearTask, 1)
void SetMomSmearing(TVector3 dpop)
dble_vec_t vec[12]
Definition: ranlxd.cxx:380