Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
TrackTpcToFCut.h
1/*
2 * TrackTPCToFCut.h
3 *
4 * Created on: 04-05-2022
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HALTRACKTPCTOFCUT_H_
10#define HALTRACKTPCTOFCUT_H_
11
12#include "TrackToFMass2Cut.h"
13#include "TrackTpcCut.h"
14
15namespace Hal {
16 class TrackTpcToFCut : public TrackExpCut {
17 protected:
18 TrackToFMass2Cut* fToF;
19 TrackTpcCut* fTpc;
20 Double_t fThreshold;
21 Bool_t fTofOpt;
22
23 public:
24 TrackTpcToFCut(TrackTpcCut* tpc = NULL, TrackToFMass2Cut* tof = NULL);
25 TrackTpcToFCut(const TrackTpcToFCut& other);
31 void SetModeGood() { fTpc->SetModeGood(); };
36 void SetModeNotBad() { fTpc->SetModeNotBad(); };
45 void SetSigma(Double_t min, Double_t max, TString type) { fTpc->SetSigma(min, max, type); };
50 void SetCharge(Int_t i) { fTpc->SetCharge(i); };
56 void SetNHits(Int_t min, Int_t max) { fTpc->SetNHits(min, max); };
61 void SetActiveSigma(TString flag) { fTpc->SetActiveSigma(flag); };
62 void SetDeDx(Double_t min, Double_t max);
63 void SetM2(Double_t min, Double_t max) { fToF->SetMinMax(min, max); }
68 static inline Int_t PionSigma() { return TrackTpcCut::PionSigma(); };
73 static inline Int_t KaonSigma() { return TrackTpcCut::KaonSigma(); };
78 static inline Int_t ProtonSigma() { return TrackTpcCut::ProtonSigma(); };
83 static inline Int_t ElectronSigma() { return TrackTpcCut::ElectronSigma(); };
88 static inline Int_t TpcHits() { return TrackTpcCut::TpcHits(); };
93 static inline Int_t Charge() { return TrackTpcCut::Charge(); };
98 static inline Int_t DeDx() { return TrackTpcCut::DeDx(); };
99 static inline Int_t M2() { return 7; };
100 void SetToFPolyLineDown(Double_t a, Double_t b, Double_t c) { fToF->SetPolyLineDown(a, b, c); };
101 void SetToFPolyLIneUp(Double_t a, Double_t b, Double_t c) { fToF->SetPolyLineUp(a, b, c); };
102 void GetPolyUp(Double_t& a, Double_t& b, Double_t& c) const { fToF->GetPolyUp(a, b, c); };
103 void GetPolyDown(Double_t& a, Double_t& b, Double_t& c) const { fToF->GetPolyDown(a, b, c); };
104 void SetThreshold(Double_t threshold) { fThreshold = threshold; };
105 void SetUpPoints(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t x3, Double_t y3) {
106 fToF->SetUpPoints(x1, y1, x2, y2, x3, y3);
107 };
108 void SetDownPoints(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t x3, Double_t y3) {
109 fToF->SetDownPoints(x1, y1, x2, y2, x3, y3);
110 };
114 void UseToF() { fTofOpt = kTRUE; };
115 Bool_t Init(Int_t format_id);
116 virtual Bool_t Pass(Track* tr);
117 virtual Package* Report() const;
118 virtual ~TrackTpcToFCut();
119 ClassDef(TrackTpcToFCut, 1)
120 };
121} // namespace Hal
122#endif /* HALTRACKTPCTOFCUT_H_ */
void SetMinMax(Double_t min, Double_t max, Int_t i=0)
Definition Cut.cxx:93
void SetActiveSigma(TString flag)
void SetSigma(Double_t min, Double_t max, TString sigma)
static Int_t DeDx()
static Int_t TpcHits()
void SetCharge(Int_t i)
static Int_t PionSigma()
Definition TrackTpcCut.h:86
void SetNHits(Int_t min, Int_t max)
static Int_t Charge()
static Int_t ProtonSigma()
Definition TrackTpcCut.h:96
static Int_t ElectronSigma()
static Int_t KaonSigma()
Definition TrackTpcCut.h:91
void SetCharge(Int_t i)
virtual Bool_t Pass(Track *tr)
void SetActiveSigma(TString flag)
static Int_t ElectronSigma()
virtual Package * Report() const
static Int_t TpcHits()
static Int_t PionSigma()
static Int_t KaonSigma()
static Int_t ProtonSigma()
void SetNHits(Int_t min, Int_t max)
static Int_t DeDx()
static Int_t Charge()
Bool_t Init(Int_t format_id)
void SetSigma(Double_t min, Double_t max, TString type)