From: wiechula Date: Tue, 8 Oct 2013 11:08:04 +0000 (+0000) Subject: o add calculation of residuals in the track fit X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=4388aa4a435237f2eba9a632f1c0e57509343e46 o add calculation of residuals in the track fit --- diff --git a/TPC/Upgrade/AliToyMCReconstruction.cxx b/TPC/Upgrade/AliToyMCReconstruction.cxx index ecec86fc4c4..6d5bd8eea65 100644 --- a/TPC/Upgrade/AliToyMCReconstruction.cxx +++ b/TPC/Upgrade/AliToyMCReconstruction.cxx @@ -47,6 +47,7 @@ AliToyMCReconstruction::AliToyMCReconstruction() : TObject() , fTime0(-1) , fCreateT0seed(kFALSE) , fLongT0seed(kTRUE) +, fFillClusterRes(kFALSE) , fStreamer(0x0) , fInputFile(0x0) , fTree(0x0) @@ -116,6 +117,12 @@ void AliToyMCReconstruction::RunReco(const char* file, Int_t nmaxEv) AliExternalTrackParam trackITS2; AliExternalTrackParam *dummy; + + // + TClonesArray *arrClustRes=0x0; + if (fFillClusterRes){ + arrClustRes=new TClonesArray("AliTPCclusterMI",160); + } Int_t maxev=fTree->GetEntries(); if (nmaxEv>0&&nmaxEvClear(); + } + // create track AliExternalTrackParam *track = new AliExternalTrackParam(*seed); @@ -1245,6 +1294,16 @@ AliExternalTrackParam* AliToyMCReconstruction::GetFittedTrackFromSeed(const AliT if (TMath::Abs(track->GetX())>kMaxR) break; // if (TMath::Abs(track->GetZ())SetX(prot.GetX()); + clRes->SetY(track->GetY()-prot.GetY()); + clRes->SetZ(track->GetZ()-prot.GetZ()); + } + Double_t pointPos[2]={0,0}; Double_t pointCov[3]={0,0,0}; pointPos[0]=prot.GetY();//local y @@ -1268,7 +1327,6 @@ AliExternalTrackParam* AliToyMCReconstruction::GetFittedTrackFromSeed(const AliT return track; } - //____________________________________________________________________________________ AliExternalTrackParam* AliToyMCReconstruction::GetFittedTrackFromSeedAllClusters(const AliToyMCTrack *tr, const AliExternalTrackParam *seed, Int_t &nClus) { diff --git a/TPC/Upgrade/AliToyMCReconstruction.h b/TPC/Upgrade/AliToyMCReconstruction.h index 8f36fb8eb4f..1fc7374a397 100644 --- a/TPC/Upgrade/AliToyMCReconstruction.h +++ b/TPC/Upgrade/AliToyMCReconstruction.h @@ -67,13 +67,18 @@ public: void SetIdealTracking(Bool_t tr) { fIdealTracking = tr; } Bool_t GetIdealTracking() const { return fIdealTracking; } + + void SetFillClusterRes(Bool_t res) { fFillClusterRes=res; } + Bool_t GetFillClusterRes() const { return fFillClusterRes; } + + void SetTree(TTree *tree) { fTree=tree; } TTree* GetTree() const { return fTree; } AliExternalTrackParam* GetSeedFromTrack(const AliToyMCTrack * const tr, Bool_t forceSeed=kFALSE); AliExternalTrackParam* GetSeedFromTrackIdeal(const AliToyMCTrack * const tr, EDet det ); - AliExternalTrackParam* GetFittedTrackFromSeed(const AliToyMCTrack *tr, const AliExternalTrackParam *seed); + AliExternalTrackParam* GetFittedTrackFromSeed(const AliToyMCTrack *tr, const AliExternalTrackParam *seed, TClonesArray *arrClustRes=0x0); AliExternalTrackParam* GetFittedTrackFromSeedAllClusters(const AliToyMCTrack *tr, const AliExternalTrackParam *seed, Int_t &nClus); AliExternalTrackParam* GetTrackRefit(const AliToyMCTrack * const tr, EDet det); @@ -156,6 +161,7 @@ public: Double_t fTime0; // current time0 used for reconstruction Bool_t fCreateT0seed; // if current seed is the T0 seed Bool_t fLongT0seed; // if we should use a t0 seed including all clusters in the seed range + Bool_t fFillClusterRes; // fill cluster residuals? TTreeSRedirector *fStreamer; // debug streamer TFile *fInputFile; // input file diff --git a/TPC/Upgrade/macros/createSCprecal.C b/TPC/Upgrade/macros/createSCprecal.C index 2029c18bfb2..60fc4b169d0 100644 --- a/TPC/Upgrade/macros/createSCprecal.C +++ b/TPC/Upgrade/macros/createSCprecal.C @@ -11,7 +11,7 @@ void createSCprecal(TString input, Int_t gas=1) TString tGas[nOmegaTau] = {"NeCO2","NeCO2_2","ArCO2","NeCF4","NeCF4_2"}; // CF4 is the same as CO2 here, but different omegaTau TString sGas[nOmegaTau] = {"Ne-CO_{2} (90-10)","Ne-CO_{2}-N_{2} (90-10-5)","Ar-CO_{2} (90-10)","Ne-CF_{4} (90-10)","Ne-CF_{4} (80-20)"}; - spaceCharge->SetOmegaTauT1T2(omegaTau[iOmegaTau], T1[gas] , T2[gas]); + spaceCharge->SetOmegaTauT1T2(omegaTau[gas], T1[gas] , T2[gas]); spaceCharge->InitSpaceCharge3DDistortion(); TString outName=input;