#include <PndLmdSigCleanTask.h>
Definition at line 37 of file PndLmdSigCleanTask.h.
PndLmdSigCleanTask::PndLmdSigCleanTask |
( |
| ) |
|
Default constructor
Definition at line 36 of file PndLmdSigCleanTask.cxx.
37 : FairTask(
"Cleaning Tracks Task for PANDA Lmd"),
PndLmdSigCleanTask::~PndLmdSigCleanTask |
( |
| ) |
|
bool PndLmdSigCleanTask::Check |
( |
FairTrackParH * |
fTrk | ) |
|
bool PndLmdSigCleanTask::CheckMom |
( |
double |
prec | ) |
|
bool PndLmdSigCleanTask::CheckMVA |
( |
FairTrackParH * |
fTrk | ) |
|
Definition at line 197 of file PndLmdSigCleanTask.cxx.
References aphrec, aprec, athrec, axrec, ayrec, azrec, Double_t, fdX, fdY, fmethodName, hResponse, Pi, reader, and res.
Referenced by Check().
200 TVector3 PosRecBP = fTrk->GetPosition();
203 azrec = float(PosRecBP.Z());
204 TVector3 MomRecBP = fTrk->GetMomentum();
205 aprec = float(MomRecBP.Mag());
206 Double_t lyambda = fTrk->GetLambda();
208 aphrec = float(fTrk->GetPhi());
bool PndLmdSigCleanTask::CheckXY |
( |
FairTrackParP * |
fTrk | ) |
|
Definition at line 230 of file PndLmdSigCleanTask.cxx.
References diffX, diffY, fdX, fdY, fVerbose, and res.
Referenced by Exec().
231 TVector3 MomRecLMD(fFittedTrkP->GetPx(), fFittedTrkP->GetPy(),
232 fFittedTrkP->GetPz());
233 MomRecLMD *= 1. / MomRecLMD.Mag();
236 if (
fVerbose > 0) cout <<
"!XThFilt!" << endl;
237 double Xref = -19.1 + 1.12 * 1e3 * MomRecLMD.Theta() +
fdX;
238 double diffX = abs(fFittedTrkP->GetX() - Xref);
240 cout <<
"fFittedTrkP.GetX() = " << fFittedTrkP->GetX() <<
" Xref = " << Xref
241 <<
" diffX = " << diffX << endl;
242 if (diffX > 3.0) dirOKx =
false;
243 if (
fVerbose > 0) cout <<
"!YPhFilt!" << endl;
244 double Yref = -0.00651 + 0.045 * 1e3 * MomRecLMD.Phi() +
fdY;
245 double diffY = abs(fFittedTrkP->GetY() - Yref);
247 cout <<
"fFittedTrkP.GetY() = " << fFittedTrkP->GetY() <<
" Yref = " << Yref
248 <<
" diffY = " << diffY << endl;
249 if (diffY > 4.0) dirOKy =
false;
252 if (dirOKx && dirOKy) res =
true;
void PndLmdSigCleanTask::Exec |
( |
Option_t * |
opt | ) |
|
|
virtual |
Virtual method Exec
Definition at line 132 of file PndLmdSigCleanTask.cxx.
References Check(), CheckXY(), fEventNr, fRecBPTracks, fTrackParFinal, fTrkArray, fVerbose, fXYcut, and PndTrack::GetParamFirst().
133 std::map<int, std::vector<int> > mcHitMap;
137 cout <<
" ---- Info: " <<
fEventNr << endl;
143 Int_t counterSigTrk = 0;
144 for (Int_t iN = 0; iN < nGeaneTrks;
146 FairTrackParH* fRes = (FairTrackParH*)
fRecBPTracks->At(iN);
152 isCleanCand =
CheckXY(&fFittedTrkP);
157 bool isClean =
Check(fRes);
158 if (isClean == kTRUE && isCleanCand == kTRUE) {
159 new ((*fTrackParFinal)[counterSigTrk])
160 FairTrackParH(*(fRes));
162 if (
fVerbose > 2) cout <<
"***** isClean TRUE *****" << endl;
164 new ((*fTrackParFinal)[counterSigTrk]) FairTrackParH();
166 if (
fVerbose > 2) cout <<
"***** isClean FALSE *****" << endl;
169 if (
fVerbose > 2) cout <<
"PndLmdSigCleanTask::Exec END!" << endl;
TClonesArray * fRecBPTracks
bool CheckXY(FairTrackParP *fTrk)
bool Check(FairTrackParH *fTrk)
TClonesArray * fTrackParFinal
FairTrackParP GetParamFirst()
void PndLmdSigCleanTask::Finish |
( |
| ) |
|
|
virtual |
InitStatus PndLmdSigCleanTask::Init |
( |
| ) |
|
|
virtual |
Definition at line 61 of file PndLmdSigCleanTask.cxx.
References aphrec, aprec, athrec, axrec, ayrec, azrec, fabs(), fdir, fGeoH, fmethodName, fPbeam, fRecBPTracks, fTrackParFinal, fTrkArray, PndGeoHandling::Instance(), reader, and TString.
Referenced by runLumiPixel5cCombFilt().
63 FairRootManager* ioman = FairRootManager::Instance();
65 std::cout <<
"-E- PndLmdSigCleanTask::Init: "
66 <<
"RootManager not instantiated!" << std::endl;
70 fTrkArray = (TClonesArray*)ioman->GetObject(
"LMDPndTrackFilt");
72 std::cout <<
"-W- PndLmdTrkQTask::Init: "
74 <<
" array!" << std::endl;
79 fRecBPTracks = (TClonesArray*)ioman->GetObject(
"GeaneTrackFinal");
81 std::cout <<
"-W- PndLmdSigCleanTask::Init: "
82 <<
"No Track after back-propagation"
83 <<
" array!" << std::endl;
98 TMVA::Tools::Instance();
101 reader =
new TMVA::Reader(
"!Color:!Silent");
115 TString prefix =
"TMVAClassification";
TClonesArray * fRecBPTracks
TClonesArray * fTrackParFinal
friend F32vec4 fabs(const F32vec4 &a)
static PndGeoHandling * Instance()
void PndLmdSigCleanTask::SetDX |
( |
double |
dx | ) |
|
|
inline |
void PndLmdSigCleanTask::SetDY |
( |
double |
dy | ) |
|
|
inline |
void PndLmdSigCleanTask::SetParContainers |
( |
| ) |
|
|
virtual |
void PndLmdSigCleanTask::SetXY |
( |
bool |
setXY | ) |
|
|
inline |
Float_t PndLmdSigCleanTask::aphrec |
|
private |
Float_t PndLmdSigCleanTask::aprec |
|
private |
Float_t PndLmdSigCleanTask::athrec |
|
private |
Float_t PndLmdSigCleanTask::axrec |
|
private |
Float_t PndLmdSigCleanTask::ayrec |
|
private |
Float_t PndLmdSigCleanTask::azrec |
|
private |
double PndLmdSigCleanTask::fdX |
|
private |
double PndLmdSigCleanTask::fdY |
|
private |
int PndLmdSigCleanTask::fEventNr |
|
private |
TString PndLmdSigCleanTask::fmethodName |
|
private |
TClonesArray* PndLmdSigCleanTask::fRecBPTracks |
|
private |
TClonesArray* PndLmdSigCleanTask::fTrackParFinal |
|
private |
TClonesArray* PndLmdSigCleanTask::fTrkArray |
|
private |
bool PndLmdSigCleanTask::fXYcut |
|
private |
TH1* PndLmdSigCleanTask::hResponse |
|
private |
TMVA::Reader* PndLmdSigCleanTask::reader |
|
private |
The documentation for this class was generated from the following files: