PandaRoot
PndMissingPzCleanerTask.h
Go to the documentation of this file.
1 /*
2  * PndMissingPzCleanerTask.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 PndMissingPzCleanerTask_H_
17 #define PndMissingPzCleanerTask_H_
18 
19 #include "PndPersistencyTask.h"
20 #include "TString.h"
21 
22 class TClonesArray;
23 
25  public:
27  : PndPersistencyTask("Missing Pz Track Cleaner Task"), fInputTrackBranch(""), fOutputTrackBranch(""), fTracks(nullptr), fFilteredTracks(nullptr), fRemoveTrack(kFALSE)
28  {
29  SetPersistency(kTRUE);
30  };
31  PndMissingPzCleanerTask(const TString &branchName)
32  : PndPersistencyTask("Missing Pz Track Cleaner Task"), fInputTrackBranch(branchName), fOutputTrackBranch(""), fTracks(nullptr), fFilteredTracks(nullptr), fRemoveTrack(kFALSE)
33  {
34  SetPersistency(kTRUE);
35  };
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 SetInputTrackBranch(const TString &name) { fInputTrackBranch = name; }
48  void SetOutputTrackBranch(const TString &name) { fOutputTrackBranch = name; }
49  void SetRemoveTrack(const Bool_t &remove) { fRemoveTrack = remove; }
50  void SetPersistence(const Bool_t &val) { SetPersistency(val); }
51 
52  private:
53  TString fInputTrackBranch;
54  TString fOutputTrackBranch;
55 
56  TClonesArray *fTracks;
57  TClonesArray *fFilteredTracks;
58 
59  Bool_t fRemoveTrack;
60 
61  ClassDef(PndMissingPzCleanerTask, 1);
62 };
63 
64 #endif /* PndMissingPzCleanerTask_H_ */
virtual void Finish()
virtual void FinishEvent()
PndMissingPzCleanerTask(const TString &branchName)
void SetPersistency(Bool_t val=kTRUE)
void SetOutputTrackBranch(const TString &name)
void SetPersistence(const Bool_t &val)
virtual void SetParContainers()
void SetInputTrackBranch(const TString &name)
virtual InitStatus Init()
void SetRemoveTrack(const Bool_t &remove)
virtual void Exec(Option_t *opt)