]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCComparisonMI.C
Additional protection. Do not issue AliFatal in case of corrupted data (cosmic test)
[u/mrichter/AliRoot.git] / TPC / AliTPCComparisonMI.C
index 315d891fc8fcd2454ef6a5847101d1d4fad2658a..4b2ef4e7e24eb5b10a06775460b78962fef605d1 100644 (file)
 #include "AliSimDigits.h"
 #include "AliTPCParam.h"
 #include "AliTPC.h"
+#include "AliTPCLoader.h"
 #include "AliDetector.h"
 #include "AliTrackReference.h"
 #include "AliRun.h"
 #include "AliTPCParamSR.h"
 #include "AliTracker.h"
 #include "AliComplexCluster.h"
-#include "AliTPCComparisonMI.h"
+#include "AliMagF.h"
 #endif
+#include "AliTPCComparisonMI.h"
 
 
 
@@ -294,6 +296,7 @@ TPCFindGenTracks::TPCFindGenTracks()
 {
   fMCInfo = new AliTPCGenInfo;
   fMCInfo->fReferences = new TClonesArray("AliTrackReference");
+
   Reset();
 }
 
@@ -333,6 +336,8 @@ TPCFindGenTracks::TPCFindGenTracks(const char * fnGalice, const char* fnRes,
     fEventNr = nall-firstEvent;
     cerr<<"restricted number of events availaible"<<endl;
   }
+  AliMagF * magf = gAlice->Field();
+  AliTracker::SetFieldMap(magf);
 }
 
 ////////////////////////////////////////////////////////////////////////
@@ -373,7 +378,8 @@ Int_t  TPCFindGenTracks::SetIO()
   // 
   CreateTreeGenTracks();
   if (!fTreeGenTracks) return 1;
-  AliTracker::SetFieldFactor(); 
+  //  AliTracker::SetFieldFactor(); 
   fParamTPC = GetTPCParam();
   //
   return 0;
@@ -866,6 +872,9 @@ TPCCmpTr::TPCCmpTr(const char* fnGenTracks,
     fEventNr = nall-firstEvent;
     cerr<<"restricted number of events availaible"<<endl;
   }
+  AliMagF * magf = gAlice->Field();
+  AliTracker::SetFieldMap(magf);
+
 }
 
 
@@ -884,7 +893,6 @@ Int_t TPCCmpTr::SetIO()
   // 
   CreateTreeCmp();
   if (!fTreeCmp) return 1;
-  AliTracker::SetFieldFactor(); 
   fParamTPC = GetTPCParam();
   //
   if (!ConnectGenTree()) {
@@ -1238,8 +1246,8 @@ Int_t TPCCmpTr::TreeGenLoop(Int_t eventNr)
        Double_t localX = local.X();
        fTPCTrack->GetExternalParameters(localX,par);
        fRecInfo->fRecPhi=TMath::ASin(par[2]) + fTPCTrack->GetAlpha();
-       if (fRecInfo->fRecPhi<0) fRecInfo->fRecPhi+=2*kPI;
-       if (fRecInfo->fRecPhi>=2*kPI) fRecInfo->fRecPhi-=2*kPI;
+       if (fRecInfo->fRecPhi<0) fRecInfo->fRecPhi+=2*TMath::Pi();
+       if (fRecInfo->fRecPhi>=2*TMath::Pi()) fRecInfo->fRecPhi-=2*TMath::Pi();
 //       fRecInfo->fRecPhi = (fRecInfo->fRecPhi)*kRaddeg;
        fRecInfo->fLambda = TMath::ATan(par[3]);
        fRecInfo->fRecPt_1 = TMath::Abs(par[4]);
@@ -1337,7 +1345,7 @@ void AliTPCComparisonDraw::ResPt()
   p2->cd();
   p2->Draw();
   TH1F* his2 =  new TH1F("Ptresolution","Ptresolution",40,-5.,5.);
-  fTree->Draw("100.*(abs(1./fTPCTrack.Get1Pt())-MC.fTrackRef.Pt())/MC.fTrackRef.Pt()>>Ptresolution","MC.fRowsWithDigits>100&&RC.fTPCTrack.fN>50&&RC.fMultiple==1"+cteta1+cpos1+cprim);
+  fTree->Draw("100.*(fTPCTrack.Pt()-MC.fTrackRef.Pt())/MC.fTrackRef.Pt()>>Ptresolution","MC.fRowsWithDigits>100&&RC.fTPCTrack.fN>50&&RC.fMultiple==1"+cteta1+cpos1+cprim);
   AliLabelAxes(his2, "#Delta p_{t} / p_{t} [%]", "entries");
   his2->Fit("gaus");
   his2->Draw();
@@ -1456,7 +1464,7 @@ TH1F * AliTPCComparisonDraw::ResPtvsPt(const char* selection, const char * quali
   Double_t maxRes = 10.;
   TH2F* hRes2 = new TH2F("hRes2", "residuals", nBins, bins, nBinsRes, -maxRes, maxRes);
   
-  fTree->Draw("100.*(abs(1./fTPCTrack.Get1Pt())-MC.fTrackRef.Pt())/MC.fTrackRef.Pt():MC.fTrackRef.Pt()>>hRes2", selection, "groff");
+  fTree->Draw("100.*(fTPCTrack.Pt()-MC.fTrackRef.Pt())/MC.fTrackRef.Pt():MC.fTrackRef.Pt()>>hRes2", selection, "groff");
 
   TH1F* hMean=0;
   TH1F* hRes = CreateResHisto(hRes2, &hMean);
@@ -1476,7 +1484,7 @@ TH1F * AliTPCComparisonDraw::MeanPtvsPt(const char* selection, const char * qual
   Double_t maxRes = 10.;
   TH2F* hRes2 = new TH2F("hRes2", "residuals", nBins, bins, nBinsRes, -maxRes, maxRes);
   
-  fTree->Draw("100.*(1./fTPCTrack.Get1Pt()-MC.fTrackRef.Pt())/MC.fTrackRef.Pt():MC.fTrackRef.Pt()>>hRes2", selection, "groff");
+  fTree->Draw("100.*(fTPCTrack.Pt()-MC.fTrackRef.Pt())/MC.fTrackRef.Pt():MC.fTrackRef.Pt()>>hRes2", selection, "groff");
 
   TH1F* hMean=0;
   TH1F* hRes = CreateResHisto(hRes2, &hMean);
@@ -1610,7 +1618,7 @@ TH1F* AliTPCComparisonDraw::CreateResHisto(TH2F* hRes2, TH1F **phMean,  Bool_t d
     if (drawBinFits) canBinFits->cd(bin + dBin);
     TH1D* hBin = hRes2->ProjectionY("hBin", bin, bin);
     //    
-    if (hBin->GetEntries() > 10) {
+    if (hBin->GetEntries() > 5) {
       fitFunc->SetParameters(hBin->GetMaximum(),hBin->GetMean(),hBin->GetRMS());
       hBin->Fit(fitFunc,"s");
       Double_t sigma = TMath::Abs(fitFunc->GetParameter(2));