2#ifndef BMNHYPNUCLPAIRFINDER_H
3#define BMNHYPNUCLPAIRFINDER_H 1
5#include "BmnFieldMap.h"
6#include "BmnGlobalTrack.h"
8#include "BmnKalmanFilter.h"
9#include "BmnNewFieldMap.h"
10#include "BmnStripData.h"
12#include "BmnTrigInfoDst.h"
14#include "CbmStsTrack.h"
16#include "DstEventHeader.h"
19#include "TGeoManager.h"
31 TClonesArray* fStsHits;
32 TClonesArray* fUpperGemClusters;
33 TClonesArray* fLowerGemClusters;
34 TClonesArray* fUpperFsdClusters;
35 TClonesArray* fLowerFsdClusters;
36 TClonesArray* fStsTracks;
37 TClonesArray* fGlobTracks;
38 TClonesArray* fTof700Hits;
44 TClonesArray* fParticlePair;
49 const Int_t fPDG1 = 2212;
50 const Int_t fPDG2 = -211;
52 const Float_t fMassHe4 = 3.7284013;
53 const Float_t fMassHe3 = 2.8094135;
54 const Float_t fMassPi = 0.1395704;
55 const Float_t fMassP = 0.9382721;
56 const Float_t fMassD = 1.8756129;
60 static const Int_t nSt = 11;
68 const Float_t aLow[nSt] = {1.00, 1.00, 1.00, 1.00, 1.66, 1.32, 1.10, 0.85, 1.09, 1.02, 1.00};
69 const Float_t bLow[nSt] = {0.00, 0.00, 0.00, 0.00, -0.99, 2.79, 13.76, 25.16, 6.47, 17.96, 0.00};
70 const Float_t aUpp[nSt] = {1.00, 1.00, 1.00, 1.00, 1.60, 1.48, 1.11, 0.93, 1.14, 0.78, 1.00};
71 const Float_t bUpp[nSt] = {0.00, 0.00, 0.00, 0.00, -4.22, 1.43, 16.15, 14.73, 4.04, 162.81, 0.00};
79 virtual void Exec(Option_t* option);
86 Float_t FindV0ByVirtualPlanes(FairTrackParam* par1, FairTrackParam* par2, Float_t z_0, Float_t range = 50.);
88 void GetNHits(
CbmStsTrack* tr, Int_t& nGEM, Int_t& nFSD);
89 Float_t GetSigXTof700He3(FairTrackParam* par);
90 Float_t GetSigYTof700He3(FairTrackParam* par);
91 Float_t GetDyTof700(FairTrackParam* par);
92 Float_t GetDxTof700(FairTrackParam* par);
94 map<Float_t, pair<Int_t, Int_t>> FindPairs(TClonesArray* tracks, TClonesArray* hits);
virtual void Exec(Option_t *option)
BmnHypNuclPairFinder(TString hyp, Bool_t exp=kTRUE)
virtual InitStatus Init()
virtual ~BmnHypNuclPairFinder()