more coding convention fixes
authorabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 16 Oct 2009 13:13:46 +0000 (13:13 +0000)
committerabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 16 Oct 2009 13:13:46 +0000 (13:13 +0000)
19 files changed:
TRD/qaRec/AliTRDalignmentTask.cxx
TRD/qaRec/AliTRDcheckDET.cxx
TRD/qaRec/AliTRDcheckDET.h
TRD/qaRec/AliTRDcheckPID.cxx
TRD/qaRec/AliTRDcheckPID.h
TRD/qaRec/AliTRDclusterResolution.h
TRD/qaRec/AliTRDefficiency.cxx
TRD/qaRec/AliTRDefficiency.h
TRD/qaRec/AliTRDefficiencyMC.cxx
TRD/qaRec/AliTRDefficiencyMC.h
TRD/qaRec/AliTRDinfoGen.cxx
TRD/qaRec/AliTRDinfoGen.h
TRD/qaRec/AliTRDpidRefMaker.cxx
TRD/qaRec/AliTRDpidRefMaker.h
TRD/qaRec/AliTRDpidRefMakerLQ.cxx
TRD/qaRec/AliTRDpidRefMakerLQ.h
TRD/qaRec/AliTRDrecoTask.cxx
TRD/qaRec/AliTRDrecoTask.h
TRD/qaRec/AliTRDresolution.cxx

index e3ccc0f..9a00ae0 100644 (file)
@@ -83,21 +83,21 @@ TH1* AliTRDalignmentTask::PlotTrackPoints(const AliTRDtrackV1 *track)
 {
 // Documentation to come 
 
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
 
   if (fArray) delete fArray;
-  fArray = new AliTrackPointArray(fTrack->GetNumberOfTracklets());
+  fArray = new AliTrackPointArray(fkTrack->GetNumberOfTracklets());
 
   // Filling the track points array
   Float_t x, y, z;
   AliTrackPoint p; Int_t ip = 0;
   AliTRDseedV1 *tracklet = 0x0;
   for(Int_t il=0; il<AliTRDgeometry::kNlayer; il++){
-    if(!(tracklet = fTrack->GetTracklet(il))) continue;
+    if(!(tracklet = fkTrack->GetTracklet(il))) continue;
     if(!tracklet->IsOK()) continue;
     tracklet->Fit(kTRUE);
 
index 673dc74..2718e09 100644 (file)
@@ -150,12 +150,6 @@ void AliTRDcheckDET::Exec(Option_t *opt){
   PostData(0, fContainer);
 }
 
-//_______________________________________________________
-void AliTRDcheckDET::Terminate(Option_t *){
-  //
-  // Terminate function
-  //
-}
 
 //_______________________________________________________
 Bool_t AliTRDcheckDET::PostProcess(){
@@ -204,34 +198,41 @@ Bool_t AliTRDcheckDET::GetRefFigure(Int_t ifig){
   switch(ifig){
   case kNclustersTrack:
     (h=(TH1F*)fContainer->FindObject("hNcls"))->Draw("pl");
-    PutTrendValue("NClustersTrack", h->GetMean(), h->GetRMS());
+    PutTrendValue("NClustersTrack", h->GetMean());
+    PutTrendValue("NClustersTrackRMS", h->GetRMS());
     return kTRUE;
   case kNclustersTracklet:
     (h =(TH1F*)fContainer->FindObject("hNclTls"))->Draw("pc");
-    PutTrendValue("NClustersTracklet", h->GetMean(), h->GetRMS());
+    PutTrendValue("NClustersTracklet", h->GetMean());
+    PutTrendValue("NClustersTrackletRMS", h->GetRMS());
     return kTRUE;
   case kNtrackletsTrack:
     h=MakePlotNTracklets();
-    PutTrendValue("NTrackletsTrack", h->GetMean(), h->GetRMS());
+    PutTrendValue("NTrackletsTrack", h->GetMean());
+    PutTrendValue("NTrackletsTrackRMS", h->GetRMS());
     return kTRUE;
   case kNtrackletsCross:
     h = (TH1F*)fContainer->FindObject("hNtlsCross");
     if(!MakeBarPlot(h, kRed)) break;
-    PutTrendValue("NTrackletsCross", h->GetMean(), h->GetRMS());
+    PutTrendValue("NTrackletsCross", h->GetMean());
+    PutTrendValue("NTrackletsCrossRMS", h->GetRMS());
     return kTRUE;
   case kNtrackletsFindable:
     h = (TH1F*)fContainer->FindObject("hNtlsFindable");
     if(!MakeBarPlot(h, kGreen)) break;
-    PutTrendValue("NTrackletsFindable", h->GetMean(), h->GetRMS());
+    PutTrendValue("NTrackletsFindable", h->GetMean());
+    PutTrendValue("NTrackletsFindableRMS", h->GetRMS());
     return kTRUE;
   case kNtracksEvent:
     (h = (TH1F*)fContainer->FindObject("hNtrks"))->Draw("pl");
-    PutTrendValue("NTracksEvent", h->GetMean(), h->GetRMS());
+    PutTrendValue("NTracksEvent", h->GetMean());
+    PutTrendValue("NTracksEventRMS", h->GetRMS());
     return kTRUE;
   case kNtracksSector:
     h = (TH1F*)fContainer->FindObject("hNtrksSector");
     if(!MakeBarPlot(h, kGreen)) break;
-    PutTrendValue("NTracksSector", h->GetMean(2), h->GetRMS(2));
+    PutTrendValue("NTracksSector", h->GetMean(2));
+    PutTrendValue("NTracksSectorRMS", h->GetRMS(2));
     return kTRUE;
   case kTrackStatus:
     ((TH1I *)fContainer->FindObject("hTrackStatus"))->Draw("c");
@@ -251,11 +252,13 @@ Bool_t AliTRDcheckDET::GetRefFigure(Int_t ifig){
   case kChargeCluster:
     (h = (TH1F*)fContainer->FindObject("hQcl"))->Draw("c");
     gPad->SetLogy(1);
-    PutTrendValue("ChargeCluster", h->GetMaximumBin(), h->GetRMS());
+    PutTrendValue("ChargeCluster", h->GetMaximumBin());
+    PutTrendValue("ChargeClusterRMS", h->GetRMS());
     return kTRUE;
   case kChargeTracklet:
     (h=(TH1F*)fContainer->FindObject("hQtrklt"))->Draw("c");
-    PutTrendValue("ChargeTracklet", h->GetMaximumBin(), h->GetRMS());
+    PutTrendValue("ChargeTracklet", h->GetMaximumBin());
+    PutTrendValue("ChargeTrackletRMS", h->GetRMS());
     return kTRUE;
   case kNeventsTrigger:
     ((TH1F*)fContainer->FindObject("hEventsTrigger"))->Draw("");
@@ -446,8 +449,8 @@ TH1 *AliTRDcheckDET::PlotTrackStatus(const AliTRDtrackV1 *track){
   //
   // Plot the track status
   //
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -456,7 +459,7 @@ TH1 *AliTRDcheckDET::PlotTrackStatus(const AliTRDtrackV1 *track){
     AliWarning("No Histogram defined.");
     return 0x0;
   }
-  h->Fill(fTrack->GetStatusTRD());
+  h->Fill(fkTrack->GetStatusTRD());
   return h;
 }
 
@@ -465,8 +468,8 @@ TH1 *AliTRDcheckDET::PlotTrackletStatus(const AliTRDtrackV1 *track){
   //
   // Plot the track status
   //
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -477,7 +480,7 @@ TH1 *AliTRDcheckDET::PlotTrackletStatus(const AliTRDtrackV1 *track){
   }
   UChar_t status = 0;
   for(Int_t il = 0; il < AliTRDgeometry::kNlayer; il++){
-    status = fTrack->GetStatusTRD(il);
+    status = fkTrack->GetStatusTRD(il);
     h->Fill(il, status);
   }
   return h;
@@ -488,8 +491,8 @@ TH1 *AliTRDcheckDET::PlotNClustersTracklet(const AliTRDtrackV1 *track){
   //
   // Plot the mean number of clusters per tracklet
   //
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -500,7 +503,7 @@ TH1 *AliTRDcheckDET::PlotNClustersTracklet(const AliTRDtrackV1 *track){
   }
   AliTRDseedV1 *tracklet = 0x0;
   for(Int_t itl = 0; itl < AliTRDgeometry::kNlayer; itl++){
-    if(!(tracklet = fTrack->GetTracklet(itl)) || !tracklet->IsOK()) continue;
+    if(!(tracklet = fkTrack->GetTracklet(itl)) || !tracklet->IsOK()) continue;
     h->Fill(tracklet->GetN2());
   }
   return h;
@@ -511,8 +514,8 @@ TH1 *AliTRDcheckDET::PlotNClustersTrack(const AliTRDtrackV1 *track){
   //
   // Plot the number of clusters in one track
   //
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -525,7 +528,7 @@ TH1 *AliTRDcheckDET::PlotNClustersTrack(const AliTRDtrackV1 *track){
   Int_t nclusters = 0;
   AliTRDseedV1 *tracklet = 0x0;
   for(Int_t itl = 0; itl < AliTRDgeometry::kNlayer; itl++){
-    if(!(tracklet = fTrack->GetTracklet(itl)) || !tracklet->IsOK()) continue;
+    if(!(tracklet = fkTrack->GetTracklet(itl)) || !tracklet->IsOK()) continue;
     nclusters += tracklet->GetN();
     if(fDebugLevel > 2){
       Int_t crossing = Int_t(tracklet->IsRowCross());
@@ -534,11 +537,11 @@ TH1 *AliTRDcheckDET::PlotNClustersTrack(const AliTRDtrackV1 *track){
       Float_t phi = TMath::ATan(tracklet->GetYref(1));
       Float_t momentum = 0.;
       Int_t pdg = 0;
-      Int_t kinkIndex = fESD ? fESD->GetKinkIndex() : 0;
-      UShort_t nclsTPC = fESD ? fESD->GetTPCncls() : 0;
-      if(fMC){
-        if(fMC->GetTrackRef()) momentum = fMC->GetTrackRef()->P();
-        pdg = fMC->GetPDG();
+      Int_t kinkIndex = fkESD ? fkESD->GetKinkIndex() : 0;
+      UShort_t nclsTPC = fkESD ? fkESD->GetTPCncls() : 0;
+      if(fkMC){
+        if(fkMC->GetTrackRef()) momentum = fkMC->GetTrackRef()->P();
+        pdg = fkMC->GetPDG();
       }
       (*fDebugStream) << "NClustersTrack"
         << "Detector="  << detector
@@ -563,8 +566,8 @@ TH1 *AliTRDcheckDET::PlotNTrackletsTrack(const AliTRDtrackV1 *track){
   //
   // Plot the number of tracklets
   //
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -573,7 +576,7 @@ TH1 *AliTRDcheckDET::PlotNTrackletsTrack(const AliTRDtrackV1 *track){
     AliWarning("No Histogram defined.");
     return 0x0;
   }
-  Int_t status = fESD->GetStatus();
+  Int_t status = fkESD->GetStatus();
 /*  printf("in/out/refit/pid: TRD[%d|%d|%d|%d]\n", status &AliESDtrack::kTRDin ? 1 : 0, status &AliESDtrack::kTRDout ? 1 : 0, status &AliESDtrack::kTRDrefit ? 1 : 0, status &AliESDtrack::kTRDpid ? 1 : 0);*/
   if((status & AliESDtrack::kTRDin) != 0){
     // Full BarrelTrack
@@ -584,7 +587,7 @@ TH1 *AliTRDcheckDET::PlotNTrackletsTrack(const AliTRDtrackV1 *track){
     if(!(hMethod = dynamic_cast<TH1F *>(fContainer->At(kNtrackletsSTA))))
       AliWarning("Method: StandAlone.  Histogram not processed!");
   }
-  Int_t nTracklets = fTrack->GetNumberOfTracklets();
+  Int_t nTracklets = fkTrack->GetNumberOfTracklets();
   h->Fill(nTracklets);
   hMethod->Fill(nTracklets);
   if(fDebugLevel > 3){
@@ -593,7 +596,7 @@ TH1 *AliTRDcheckDET::PlotNTrackletsTrack(const AliTRDtrackV1 *track){
       Int_t layer = -1;
       AliTRDseedV1 *tracklet = 0x0;
       for(Int_t il = 0; il < AliTRDgeometry::kNlayer; il++){
-        if((tracklet = fTrack->GetTracklet(il)) && tracklet->IsOK()){layer =  il; break;}
+        if((tracklet = fkTrack->GetTracklet(il)) && tracklet->IsOK()){layer =  il; break;}
       }
       (*fDebugStream) << "NTrackletsTrack"
         << "Layer=" << layer
@@ -609,8 +612,8 @@ TH1 *AliTRDcheckDET::PlotNTrackletsRowCross(const AliTRDtrackV1 *track){
   //
   // Plot the number of tracklets
   //
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -623,7 +626,7 @@ TH1 *AliTRDcheckDET::PlotNTrackletsRowCross(const AliTRDtrackV1 *track){
   Int_t ncross = 0;
   AliTRDseedV1 *tracklet = 0x0;
   for(Int_t il = 0; il < AliTRDgeometry::kNlayer; il++){
-    if(!(tracklet = fTrack->GetTracklet(il)) || !tracklet->IsOK()) continue;
+    if(!(tracklet = fkTrack->GetTracklet(il)) || !tracklet->IsOK()) continue;
 
     if(tracklet->IsRowCross()) ncross++;
   }
@@ -661,8 +664,8 @@ TH1 *AliTRDcheckDET::PlotFindableTracklets(const AliTRDtrackV1 *track){
   const Float_t deltaZ = 7.0;    // Tolerance in the track position in z-direction (Padlength)
   Double_t xAnode[AliTRDgeometry::kNlayer] = {300.2, 312.8, 325.4, 338.0, 350.6, 363.2}; // Take the default X0
  
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -678,7 +681,7 @@ TH1 *AliTRDcheckDET::PlotFindableTracklets(const AliTRDtrackV1 *track){
   AliTRDseedV1 *tracklet = 0x0;
   AliTRDpadPlane *pp;  
   for(Int_t il = 0; il < AliTRDgeometry::kNlayer; il++){
-    if((tracklet = fTrack->GetTracklet(il)) && tracklet->IsOK()){
+    if((tracklet = fkTrack->GetTracklet(il)) && tracklet->IsOK()){
       tracklet->SetReconstructor(fReconstructor);
       nFound++;
     }
@@ -689,20 +692,20 @@ TH1 *AliTRDcheckDET::PlotFindableTracklets(const AliTRDtrackV1 *track){
   AliTrackPoint points[6];
   Float_t xyz[3];
   memset(xyz, 0, sizeof(Float_t) * 3);
-  if(((fESD->GetStatus() & AliESDtrack::kTRDout) > 0) && !((fESD->GetStatus() & AliESDtrack::kTRDin) > 0)){
+  if(((fkESD->GetStatus() & AliESDtrack::kTRDout) > 0) && !((fkESD->GetStatus() & AliESDtrack::kTRDin) > 0)){
     // stand alone track
     for(Int_t il = 0; il < AliTRDgeometry::kNlayer; il++){
       xyz[0] = xAnode[il];
       points[il].SetXYZ(xyz);
     }
-    AliTRDtrackerV1::FitRiemanTilt(const_cast<AliTRDtrackV1 *>(fTrack), 0x0, kTRUE, 6, points);
+    AliTRDtrackerV1::FitRiemanTilt(const_cast<AliTRDtrackV1 *>(fkTrack), 0x0, kTRUE, 6, points);
   } else {
     // barrel track
     //
     // 2 Steps:
     // -> Kalman inwards
     // -> Kalman outwards
-    AliTRDtrackV1 copyTrack(*fTrack);  // Do Kalman on a (non-constant) copy of the track
+    AliTRDtrackV1 copyTrack(*fkTrack);  // Do Kalman on a (non-constant) copy of the track
     AliTrackPoint pointsInward[6], pointsOutward[6];
     for(Int_t il = AliTRDgeometry::kNlayer; il--;){
       // In order to avoid complications in the Kalman filter if the track points have the same radial
@@ -759,8 +762,8 @@ TH1 *AliTRDcheckDET::PlotChi2(const AliTRDtrackV1 *track){
   //
   // Plot the chi2 of the track
   //
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -769,10 +772,10 @@ TH1 *AliTRDcheckDET::PlotChi2(const AliTRDtrackV1 *track){
     AliWarning("No Histogram defined.");
     return 0x0;
   }
-  Int_t n = fTrack->GetNumberOfTracklets();
+  Int_t n = fkTrack->GetNumberOfTracklets();
   if(!n) return 0x0;
 
-  h->Fill(n, fTrack->GetChi2()/n);
+  h->Fill(n, fkTrack->GetChi2()/n);
   return h;
 }
 
@@ -782,8 +785,8 @@ TH1 *AliTRDcheckDET::PlotPHt(const AliTRDtrackV1 *track){
   //
   // Plot the average pulse height
   //
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -795,7 +798,7 @@ TH1 *AliTRDcheckDET::PlotPHt(const AliTRDtrackV1 *track){
   AliTRDseedV1 *tracklet = 0x0;
   AliTRDcluster *c = 0x0;
   for(Int_t itl = 0; itl < AliTRDgeometry::kNlayer; itl++){
-    if(!(tracklet = fTrack->GetTracklet(itl)) || !tracklet->IsOK())continue;
+    if(!(tracklet = fkTrack->GetTracklet(itl)) || !tracklet->IsOK())continue;
     Int_t crossing = Int_t(tracklet->IsRowCross());
     Int_t detector = tracklet->GetDetector();
     tracklet->ResetClusterIter();
@@ -811,11 +814,11 @@ TH1 *AliTRDcheckDET::PlotPHt(const AliTRDtrackV1 *track){
         Float_t phi = TMath::ATan(tracklet->GetYref(1));
         Float_t momentum = 0.;
         Int_t pdg = 0;
-        Int_t kinkIndex = fESD ? fESD->GetKinkIndex() : 0;
-        UShort_t TPCncls = fESD ? fESD->GetTPCncls() : 0;
-        if(fMC){
-          if(fMC->GetTrackRef()) momentum = fMC->GetTrackRef()->P();
-          pdg = fMC->GetPDG();
+        Int_t kinkIndex = fkESD ? fkESD->GetKinkIndex() : 0;
+        UShort_t TPCncls = fkESD ? fkESD->GetTPCncls() : 0;
+        if(fkMC){
+          if(fkMC->GetTrackRef()) momentum = fkMC->GetTrackRef()->P();
+          pdg = fkMC->GetPDG();
         }
         (*fDebugStream) << "PHt"
           << "Detector="       << detector
@@ -844,8 +847,8 @@ TH1 *AliTRDcheckDET::PlotPHx(const AliTRDtrackV1 *track){
   // Plots the average pulse height vs the distance from the anode wire
   // (plus const anode wire offset)
   //
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -860,7 +863,7 @@ TH1 *AliTRDcheckDET::PlotPHx(const AliTRDtrackV1 *track){
   Double_t distance = 0;
   Double_t x, y;
   for(Int_t itl = 0; itl < AliTRDgeometry::kNlayer; itl++){
-    if(!(tracklet = fTrack->GetTracklet(itl)) || !(tracklet->IsOK())) continue;
+    if(!(tracklet = fkTrack->GetTracklet(itl)) || !(tracklet->IsOK())) continue;
     tracklet->ResetClusterIter();
     while((c = tracklet->NextCluster())){
       if(!c->IsInChamber()) continue;
@@ -879,8 +882,8 @@ TH1 *AliTRDcheckDET::PlotChargeCluster(const AliTRDtrackV1 *track){
   //
   // Plot the cluster charge
   //
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -892,7 +895,7 @@ TH1 *AliTRDcheckDET::PlotChargeCluster(const AliTRDtrackV1 *track){
   AliTRDseedV1 *tracklet = 0x0;
   AliTRDcluster *c = 0x0;
   for(Int_t itl = 0; itl < AliTRDgeometry::kNlayer; itl++){
-    if(!(tracklet = fTrack->GetTracklet(itl)) || !tracklet->IsOK())continue;
+    if(!(tracklet = fkTrack->GetTracklet(itl)) || !tracklet->IsOK())continue;
     for(Int_t itime = 0; itime < AliTRDtrackerV1::GetNTimeBins(); itime++){
       if(!(c = tracklet->GetClusters(itime))) continue;
       h->Fill(c->GetQ());
@@ -906,8 +909,8 @@ TH1 *AliTRDcheckDET::PlotChargeTracklet(const AliTRDtrackV1 *track){
   //
   // Plot the charge deposit per chamber
   //
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -919,9 +922,9 @@ TH1 *AliTRDcheckDET::PlotChargeTracklet(const AliTRDtrackV1 *track){
   AliTRDseedV1 *tracklet = 0x0;
   AliTRDcluster *c = 0x0;
   Double_t qTot = 0;
-  Int_t nTracklets =fTrack->GetNumberOfTracklets();
+  Int_t nTracklets =fkTrack->GetNumberOfTracklets();
   for(Int_t itl = 0x0; itl < AliTRDgeometry::kNlayer; itl++){
-    if(!(tracklet = fTrack->GetTracklet(itl)) || !tracklet->IsOK()) continue;
+    if(!(tracklet = fkTrack->GetTracklet(itl)) || !tracklet->IsOK()) continue;
     qTot = 0.;
     for(Int_t ic = AliTRDseedV1::kNclusters; ic--;){
       if(!(c = tracklet->GetClusters(ic))) continue;
@@ -935,11 +938,11 @@ TH1 *AliTRDcheckDET::PlotChargeTracklet(const AliTRDtrackV1 *track){
       Float_t phi = TMath::ATan(tracklet->GetYfit(1));
       Float_t momentum = 0.;
       Int_t pdg = 0;
-      Int_t kinkIndex = fESD ? fESD->GetKinkIndex() : 0;
-      UShort_t nclsTPC = fESD ? fESD->GetTPCncls() : 0;
-      if(fMC){
-             if(fMC->GetTrackRef()) momentum = fMC->GetTrackRef()->P();
-        pdg = fMC->GetPDG();
+      Int_t kinkIndex = fkESD ? fkESD->GetKinkIndex() : 0;
+      UShort_t nclsTPC = fkESD ? fkESD->GetTPCncls() : 0;
+      if(fkMC){
+             if(fkMC->GetTrackRef()) momentum = fkMC->GetTrackRef()->P();
+        pdg = fkMC->GetPDG();
       }
       (*fDebugStream) << "ChargeTracklet"
         << "Detector="  << detector
@@ -963,8 +966,8 @@ TH1 *AliTRDcheckDET::PlotNTracksSector(const AliTRDtrackV1 *track){
   //
   // Plot the number of tracks per Sector
   //
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -980,7 +983,7 @@ TH1 *AliTRDcheckDET::PlotNTracksSector(const AliTRDtrackV1 *track){
   AliTRDseedV1 *tracklet = 0x0;
   Int_t sector = -1;
   for(Int_t itl = 0; itl < AliTRDgeometry::kNlayer; itl++){
-    if(!(tracklet = fTrack->GetTracklet(itl)) || !tracklet->IsOK()) continue;
+    if(!(tracklet = fkTrack->GetTracklet(itl)) || !tracklet->IsOK()) continue;
     sector = static_cast<Int_t>(tracklet->GetDetector()/AliTRDgeometry::kNdets);
     break;
   }
index 0a92531..f1c7f8d 100644 (file)
@@ -54,7 +54,6 @@ public:
   virtual void ConnectInputData(const Option_t *);
   virtual void CreateOutputObjects();
   virtual void Exec(Option_t *opt);
-  virtual void Terminate(Option_t *opt);
 
   virtual TObjArray *Histos();
 
index d6ccdf8..a004ac1 100644 (file)
@@ -256,22 +256,22 @@ TH1 *AliTRDcheckPID::PlotLQ(const AliTRDtrackV1 *track)
   // Plot the probabilities for electrons using 2-dim LQ
   //
 
-  if(!fESD){
+  if(!fkESD){
     AliWarning("No ESD info available.");
     return 0x0;
   }
 
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
 
   ULong_t status;
-  status = fESD -> GetStatus();
+  status = fkESD -> GetStatus();
   if(!(status&AliESDtrack::kTRDin)) return 0x0;
 
-  if(!CheckTrackQuality(fTrack)) return 0x0;
+  if(!CheckTrackQuality(fkTrack)) return 0x0;
   
   if(!(fEfficiency = dynamic_cast<TObjArray *>(fContainer->At(kEfficiency)))){
     AliWarning("No Histogram defined.");
@@ -283,15 +283,15 @@ TH1 *AliTRDcheckPID::PlotLQ(const AliTRDtrackV1 *track)
     return 0x0;
   }
 
-  AliTRDtrackV1 cTrack(*fTrack);
+  AliTRDtrackV1 cTrack(*fkTrack);
   cTrack.SetReconstructor(fReconstructor);
 
   Int_t pdg = 0;
   Float_t momentum = 0.;
 
-  if(fMC){
-    if(fMC->GetTrackRef()) momentum = fMC->GetTrackRef()->P();
-    pdg = fMC->GetPDG();
+  if(fkMC){
+    if(fkMC->GetTrackRef()) momentum = fkMC->GetTrackRef()->P();
+    pdg = fkMC->GetPDG();
   } else{
     //AliWarning("No MC info available!");
     momentum = cTrack.GetMomentum(0);
@@ -316,22 +316,22 @@ TH1 *AliTRDcheckPID::PlotNN(const AliTRDtrackV1 *track)
   // Plot the probabilities for electrons using 2-dim LQ
   //
 
-  if(!fESD){
+  if(!fkESD){
     AliWarning("No ESD info available.");
     return 0x0;
   }
 
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
   
   ULong_t status;
-  status = fESD -> GetStatus();
+  status = fkESD -> GetStatus();
   if(!(status&AliESDtrack::kTRDin)) return 0x0;
 
-  if(!CheckTrackQuality(fTrack)) return 0x0;
+  if(!CheckTrackQuality(fkTrack)) return 0x0;
   
   if(!(fEfficiency = dynamic_cast<TObjArray *>(fContainer->At(kEfficiency)))){
     AliWarning("No Histogram defined.");
@@ -343,14 +343,14 @@ TH1 *AliTRDcheckPID::PlotNN(const AliTRDtrackV1 *track)
     return 0x0;
   }
 
-  AliTRDtrackV1 cTrack(*fTrack);
+  AliTRDtrackV1 cTrack(*fkTrack);
   cTrack.SetReconstructor(fReconstructor);
 
   Int_t pdg = 0;
   Float_t momentum = 0.;
-  if(fMC){
-    if(fMC->GetTrackRef()) momentum = fMC->GetTrackRef()->P();
-    pdg = fMC->GetPDG();
+  if(fkMC){
+    if(fkMC->GetTrackRef()) momentum = fkMC->GetTrackRef()->P();
+    pdg = fkMC->GetPDG();
   } else {
     //AliWarning("No MC info available!");
     momentum = cTrack.GetMomentum(0);
@@ -375,23 +375,23 @@ TH1 *AliTRDcheckPID::PlotESD(const AliTRDtrackV1 *track)
   // Plot the probabilities for electrons using 2-dim LQ
   //
 
-  if(!fESD){
+  if(!fkESD){
     AliWarning("No ESD info available.");
     return 0x0;
   }
 
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
   
   ULong_t status;
-  status = fESD -> GetStatus();
+  status = fkESD -> GetStatus();
   if(!(status&AliESDtrack::kTRDin)) return 0x0;
 
-  if(!CheckTrackQuality(fTrack)) return 0x0;
-  if(fTrack->GetNumberOfTrackletsPID() < fMinNTracklets) return 0x0;
+  if(!CheckTrackQuality(fkTrack)) return 0x0;
+  if(fkTrack->GetNumberOfTrackletsPID() < fMinNTracklets) return 0x0;
   
   if(!(fEfficiency = dynamic_cast<TObjArray *>(fContainer->At(kEfficiency)))){
     AliWarning("No Histogram defined.");
@@ -406,12 +406,12 @@ TH1 *AliTRDcheckPID::PlotESD(const AliTRDtrackV1 *track)
 
   Int_t pdg = 0;
   Float_t momentum = 0.;
-  if(fMC){
-    if(fMC->GetTrackRef()) momentum = fMC->GetTrackRef()->P();
-    pdg = fMC->GetPDG();
+  if(fkMC){
+    if(fkMC->GetTrackRef()) momentum = fkMC->GetTrackRef()->P();
+    pdg = fkMC->GetPDG();
   } else {
     //AliWarning("No MC info available!");
-    AliTRDtrackV1 cTrack(*fTrack);
+    AliTRDtrackV1 cTrack(*fkTrack);
     cTrack.SetReconstructor(fReconstructor);
     momentum = cTrack.GetMomentum(0);
     pdg = CalcPDG(&cTrack);
@@ -419,7 +419,7 @@ TH1 *AliTRDcheckPID::PlotESD(const AliTRDtrackV1 *track)
   if(!IsInRange(momentum)) return 0x0;
 
 //   Double32_t pidESD[AliPID::kSPECIES];
-  const Double32_t *pidESD = fESD->GetResponseIter();
+  const Double32_t *pidESD = fkESD->GetResponseIter();
   Int_t species = AliTRDpidUtil::Pdg2Pid(pdg);
   hPIDESD -> Fill(FindBin(species, momentum), pidESD[0]);
   return hPIDESD;
@@ -433,13 +433,13 @@ TH1 *AliTRDcheckPID::PlotdEdx(const AliTRDtrackV1 *track)
   // Plot the probabilities for electrons using 2-dim LQ
   //
 
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
   
-  if(!CheckTrackQuality(fTrack)) return 0x0;
+  if(!CheckTrackQuality(fkTrack)) return 0x0;
   
   TH2F *hdEdx;
   if(!(hdEdx = dynamic_cast<TH2F *>(fContainer->At(kdEdx)))){
@@ -447,13 +447,13 @@ TH1 *AliTRDcheckPID::PlotdEdx(const AliTRDtrackV1 *track)
     return 0x0;
   }
 
-  AliTRDtrackV1 cTrack(*fTrack);
+  AliTRDtrackV1 cTrack(*fkTrack);
   cTrack.SetReconstructor(fReconstructor);
   Int_t pdg = 0;
   Float_t momentum = 0.;
-  if(fMC){
-    if(fMC->GetTrackRef()) momentum = fMC->GetTrackRef()->P();
-    pdg = fMC->GetPDG();
+  if(fkMC){
+    if(fkMC->GetTrackRef()) momentum = fkMC->GetTrackRef()->P();
+    pdg = fkMC->GetPDG();
   } else {
     //AliWarning("No MC info available!");
     momentum = cTrack.GetMomentum(0);
@@ -485,13 +485,13 @@ TH1 *AliTRDcheckPID::PlotdEdxSlice(const AliTRDtrackV1 *track)
   // Plot the probabilities for electrons using 2-dim LQ
   //
 
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
   
-  if(!CheckTrackQuality(fTrack)) return 0x0;
+  if(!CheckTrackQuality(fkTrack)) return 0x0;
   
   TH2F *hdEdxSlice;
   if(!(hdEdxSlice = dynamic_cast<TH2F *>(fContainer->At(kdEdxSlice)))){
@@ -499,13 +499,13 @@ TH1 *AliTRDcheckPID::PlotdEdxSlice(const AliTRDtrackV1 *track)
     return 0x0;
   }
 
-  AliTRDtrackV1 cTrack(*fTrack);
+  AliTRDtrackV1 cTrack(*fkTrack);
   cTrack.SetReconstructor(fReconstructor);
   Int_t pdg = 0;
   Float_t momentum = 0.;
-  if(fMC){
-    if(fMC->GetTrackRef()) momentum = fMC->GetTrackRef()->P();
-    pdg = fMC->GetPDG();
+  if(fkMC){
+    if(fkMC->GetTrackRef()) momentum = fkMC->GetTrackRef()->P();
+    pdg = fkMC->GetPDG();
   } else {
     //AliWarning("No MC info available!");
     momentum = cTrack.GetMomentum(0);
@@ -539,13 +539,13 @@ TH1 *AliTRDcheckPID::PlotPH(const AliTRDtrackV1 *track)
   // Plot the probabilities for electrons using 2-dim LQ
   //
 
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
   
-  if(!CheckTrackQuality(fTrack)) return 0x0;
+  if(!CheckTrackQuality(fkTrack)) return 0x0;
   
   TObjArray *arr = 0x0;
   TProfile2D *hPHX, *hPHT;
@@ -558,12 +558,12 @@ TH1 *AliTRDcheckPID::PlotPH(const AliTRDtrackV1 *track)
 
   Int_t pdg = 0;
   Float_t momentum = 0.;
-  if(fMC){
-    if(fMC->GetTrackRef()) momentum = fMC->GetTrackRef()->P();
-    pdg = fMC->GetPDG();
+  if(fkMC){
+    if(fkMC->GetTrackRef()) momentum = fkMC->GetTrackRef()->P();
+    pdg = fkMC->GetPDG();
   } else {
     //AliWarning("No MC info available!");
-    AliTRDtrackV1 cTrack(*fTrack);
+    AliTRDtrackV1 cTrack(*fkTrack);
     cTrack.SetReconstructor(fReconstructor);
     momentum = cTrack.GetMomentum(0);
     pdg = CalcPDG(&cTrack);
@@ -575,7 +575,7 @@ TH1 *AliTRDcheckPID::PlotPH(const AliTRDtrackV1 *track)
   Int_t species = AliTRDpidUtil::Pdg2Pid(pdg);
   Int_t iBin = FindBin(species, momentum);
   for(Int_t iChamb = 0; iChamb < AliTRDgeometry::kNlayer; iChamb++){
-    tracklet = fTrack->GetTracklet(iChamb);
+    tracklet = fkTrack->GetTracklet(iChamb);
     if(!tracklet) continue;
     Float_t x0 = tracklet->GetX0(); 
     for(Int_t ic = 0; ic < AliTRDtrackerV1::GetNTimeBins(); ic++){
@@ -595,13 +595,13 @@ TH1 *AliTRDcheckPID::PlotNClus(const AliTRDtrackV1 *track)
   // Plot the probabilities for electrons using 2-dim LQ
   //
 
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
   
-  if(!CheckTrackQuality(fTrack)) return 0x0;
+  if(!CheckTrackQuality(fkTrack)) return 0x0;
   
   TH2F *hNClus;
   if(!(hNClus = dynamic_cast<TH2F *>(fContainer->At(kNClus)))){
@@ -612,12 +612,12 @@ TH1 *AliTRDcheckPID::PlotNClus(const AliTRDtrackV1 *track)
 
   Int_t pdg = 0;
   Float_t momentum = 0.;
-  if(fMC){
-    if(fMC->GetTrackRef()) momentum = fMC->GetTrackRef()->P();
-    pdg = fMC->GetPDG();
+  if(fkMC){
+    if(fkMC->GetTrackRef()) momentum = fkMC->GetTrackRef()->P();
+    pdg = fkMC->GetPDG();
   } else {
     //AliWarning("No MC info available!");
-    AliTRDtrackV1 cTrack(*fTrack);
+    AliTRDtrackV1 cTrack(*fkTrack);
     cTrack.SetReconstructor(fReconstructor);
     momentum = cTrack.GetMomentum(0);
     pdg = CalcPDG(&cTrack);
@@ -628,7 +628,7 @@ TH1 *AliTRDcheckPID::PlotNClus(const AliTRDtrackV1 *track)
   Int_t iBin = FindBin(species, momentum); 
   AliTRDseedV1 *tracklet = 0x0;
   for(Int_t iChamb = 0; iChamb < AliTRDgeometry::kNlayer; iChamb++){
-    tracklet = fTrack->GetTracklet(iChamb);
+    tracklet = fkTrack->GetTracklet(iChamb);
     if(!tracklet) continue;
     hNClus -> Fill(iBin, tracklet->GetN());
   }
@@ -643,8 +643,8 @@ TH1 *AliTRDcheckPID::PlotNTracklets(const AliTRDtrackV1 *track)
   // Plot the probabilities for electrons using 2-dim LQ
   //
 
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -655,13 +655,13 @@ TH1 *AliTRDcheckPID::PlotNTracklets(const AliTRDtrackV1 *track)
     return 0x0;
   }
 
-  AliTRDtrackV1 cTrack(*fTrack);
+  AliTRDtrackV1 cTrack(*fkTrack);
   cTrack.SetReconstructor(fReconstructor);
   Int_t pdg = 0;
   Float_t momentum = 0.;
-  if(fMC){
-    if(fMC->GetTrackRef()) momentum = fMC->GetTrackRef()->P();
-    pdg = fMC->GetPDG();
+  if(fkMC){
+    if(fkMC->GetTrackRef()) momentum = fkMC->GetTrackRef()->P();
+    pdg = fkMC->GetPDG();
   } else {
     //AliWarning("No MC info available!");
     momentum = cTrack.GetMomentum(0);
@@ -682,13 +682,13 @@ TH1 *AliTRDcheckPID::PlotMom(const AliTRDtrackV1 *track)
   // Plot the probabilities for electrons using 2-dim LQ
   //
 
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
   
-  if(!CheckTrackQuality(fTrack)) return 0x0;
+  if(!CheckTrackQuality(fkTrack)) return 0x0;
   
   TH1F *hMom;
   if(!(hMom = dynamic_cast<TH1F *>(fContainer->At(kMomentum)))){
@@ -699,12 +699,12 @@ TH1 *AliTRDcheckPID::PlotMom(const AliTRDtrackV1 *track)
 
   Int_t pdg = 0;
   Float_t momentum = 0.;
-  if(fMC){
-    if(fMC->GetTrackRef()) momentum = fMC->GetTrackRef()->P();
-    pdg = fMC->GetPDG();
+  if(fkMC){
+    if(fkMC->GetTrackRef()) momentum = fkMC->GetTrackRef()->P();
+    pdg = fkMC->GetPDG();
   } else {
     //AliWarning("No MC info available!");
-    AliTRDtrackV1 cTrack(*fTrack);
+    AliTRDtrackV1 cTrack(*fkTrack);
     cTrack.SetReconstructor(fReconstructor);
     momentum = cTrack.GetMomentum(0);
     pdg = CalcPDG(&cTrack);
@@ -721,13 +721,13 @@ TH1 *AliTRDcheckPID::PlotMomBin(const AliTRDtrackV1 *track)
   // Plot the probabilities for electrons using 2-dim LQ
   //
 
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
   
-  if(!CheckTrackQuality(fTrack)) return 0x0;
+  if(!CheckTrackQuality(fkTrack)) return 0x0;
   
   TH1F *hMomBin;
   if(!(hMomBin = dynamic_cast<TH1F *>(fContainer->At(kMomentumBin)))){
@@ -739,12 +739,12 @@ TH1 *AliTRDcheckPID::PlotMomBin(const AliTRDtrackV1 *track)
   Int_t pdg = 0;
   Float_t momentum = 0.;
 
-  if(fMC){
-    if(fMC->GetTrackRef()) momentum = fMC->GetTrackRef()->P();
-    pdg = fMC->GetPDG();
+  if(fkMC){
+    if(fkMC->GetTrackRef()) momentum = fkMC->GetTrackRef()->P();
+    pdg = fkMC->GetPDG();
   } else {
     //AliWarning("No MC info available!");
-    AliTRDtrackV1 cTrack(*fTrack);
+    AliTRDtrackV1 cTrack(*fkTrack);
     cTrack.SetReconstructor(fReconstructor);
     momentum = cTrack.GetMomentum(0);
   }
@@ -1073,18 +1073,3 @@ void AliTRDcheckPID::EvaluatePionEfficiency(TObjArray * const histoContainer, TO
     }
   }
 }
-
-//________________________________________________________________________
-void AliTRDcheckPID::Terminate(Option_t *) 
-{
-  // Draw result to the screen
-  // Called once at the end of the query
-
-  fContainer = dynamic_cast<TObjArray*>(GetOutputData(0));
-  if (!fContainer) {
-    Printf("ERROR: list not available");
-    return;
-  }
-}
-
-
index b8d06f3..d1f9eb3 100644 (file)
@@ -42,7 +42,6 @@ public:
   virtual void    CreateOutputObjects();
   virtual Bool_t  GetRefFigure(Int_t ifig);
   virtual Bool_t  PostProcess();
-  virtual void    Terminate(Option_t *);
 
   TH1 *PlotLQ(const AliTRDtrackV1 *track = 0x0);
   TH1 *PlotNN(const AliTRDtrackV1 *track = 0x0);
index 94907d8..7bdc891 100644 (file)
@@ -60,8 +60,6 @@ public:
   void          SetSaveAs(Bool_t v = kTRUE) {SetBit(kSaveAs, v);}
   inline void   ResetProcess();
 
-  void    Terminate(Option_t *){};
-
 protected:
   void    ProcessCharge();
   void    ProcessCenterPad();
index d23be79..4af2ec3 100644 (file)
@@ -34,7 +34,6 @@
 #include "AliTrackReference.h"
 #include "AliExternalTrackParam.h"
 #include "AliTracker.h"
-#include "AliMagF.h"
 #include "AliAnalysisManager.h"
 
 #include "Cal/AliTRDCalPID.h"
@@ -56,6 +55,7 @@ AliTRDefficiency::AliTRDefficiency()
 //____________________________________________________________________
 AliTRDefficiency::~AliTRDefficiency()
 {
+  // Destructor
   if(fMissed){
     fMissed->Delete();
     delete fMissed;
@@ -178,7 +178,7 @@ void AliTRDefficiency::Exec(Option_t *)
 
     Double_t xyz[3], x0, y0, z0, x, y, z, dx, dy, dz, d;
 
-    Bool_t FOUND = kFALSE;
+    Bool_t bFOUND = kFALSE;
     for(Int_t iselect=0; iselect<nselect; iselect++){
       track = (AliTRDtrackInfo*)fTracks->UncheckedAt(selection[iselect]);
 
@@ -204,7 +204,7 @@ void AliTRDefficiency::Exec(Option_t *)
         d /= track->GetNTrackRefs();
         if(d < threshold){
           //printf("\t\tFound %2d in ref[%3d] : d[%f]\n", imiss, selection[iselect], d/track->GetNTrackRefs());
-          FOUND = kTRUE; break;
+          bFOUND = kTRUE; break;
         }
       }
 
@@ -225,17 +225,17 @@ void AliTRDefficiency::Exec(Option_t *)
       //printf("\td[%d] = %f op\n", selection[iselect], d);
       if(d < threshold){
         //printf("\t\tFound %2d in op[%3d]  : d[%f] dx[%5.2f] dy[%5.2f] dz[%5.2f]\n", imiss, selection[iselect], d, dx, dy, dz);
-        FOUND = kTRUE; break;
+        bFOUND = kTRUE; break;
       }
     }
-    if(FOUND) nTPC--;
+    if(bFOUND) nTPC--;
     else{ 
       ref = tt->GetTrackRef(0);
       mom = ref ? ref->P(): op->P();
       pidx = AliTRDCalPID::GetPartIndex(tt->GetPDG());
       pidx = TMath::Max(pidx, 0);
       ((TProfile*)fContainer->At(pidx))->Fill(mom, 0.);
-      if(fDebugLevel>=2) printf("\tNOT FOUND Id[%d] Mom[%f]\n", tt->GetTrackId(), mom);
+      if(fDebugLevel>=2) printf("\tNOT bFOUND Id[%d] Mom[%f]\n", tt->GetTrackId(), mom);
     }
   }
 
@@ -252,33 +252,13 @@ void AliTRDefficiency::Exec(Option_t *)
   PostData(0, fContainer);
 }
 
-//____________________________________________________________________
-void AliTRDefficiency::Terminate(Option_t *)
-{
-  //
-  // Terminate
-  //
-
-  if(fDebugStream){ 
-    delete fDebugStream;
-    fDebugStream = 0x0;
-    fDebugLevel = 0;
-  }
-
-  fContainer = dynamic_cast<TObjArray*>(GetOutputData(0));
-  if (!fContainer) {
-    Printf("ERROR: list not available");
-    return;
-  }
-
-}
-
-
 
 //____________________________________________________________________
 Bool_t AliTRDefficiency::GetRefFigure(Int_t ifig)
 {
-  Bool_t FIRST = kTRUE;
+// Steer reference figures
+
+  Bool_t bFIRST = kTRUE;
   TProfile *h = 0x0;
   switch(ifig){
   case 0:
@@ -292,14 +272,14 @@ Bool_t AliTRDefficiency::GetRefFigure(Int_t ifig)
     h->Draw("e1");
     break;
   case 1:
-    FIRST = kTRUE;
+    bFIRST = kTRUE;
     for(Int_t is=0; is<AliPID::kSPECIES; is++){
       if(!(h = (TProfile*)fContainer->At(is))) continue;
-      if(FIRST){
+      if(bFIRST){
         h->Draw("e1");
         h->GetXaxis()->SetTitle("p [GeV/c]");
       } else h->Draw("same e1");
-      FIRST = kFALSE;
+      bFIRST = kFALSE;
     }
     break;
   }
index 9ce87f0..ea27399 100644 (file)
@@ -28,7 +28,6 @@ public:
   void    Exec(Option_t *);
   Bool_t  GetRefFigure(Int_t ifig);
   Bool_t  PostProcess();
-  void    Terminate(Option_t *);
 
 private:
   AliTRDefficiency(const AliTRDefficiency&);
index 97578ef..97c23c6 100644 (file)
 #include <TClonesArray.h>
 #include <TProfile.h>
 #include <TMath.h>
-#include <TCanvas.h>
 #include "TTreeStream.h"
 
 #include "AliMagF.h"
 #include "AliPID.h"
-#include "AliTracker.h"
 #include "AliMathBase.h"
 #include "AliTrackReference.h"
 #include "AliAnalysisManager.h"
@@ -41,7 +39,6 @@
 #include "AliTRDcluster.h"
 #include "AliTRDseedV1.h"
 #include "AliTRDtrackV1.h"
-#include "AliTRDtrackerV1.h"
 #include "Cal/AliTRDCalPID.h"
 #include "info/AliTRDtrackInfo.h"
 #include "AliTRDinfoGen.h"
@@ -76,7 +73,7 @@ void AliTRDefficiencyMC::Exec(Option_t *){
   // Execute the task:
   //
   // Loop over TrackInfos
-  // 1st: check if there is a TRDtrack
+  // 1st: check if there is a trackTRD
   // 2nd: put conditions on the track:
   //      - check if we did not register it before
   //      - check if we have Track References for the track 
@@ -89,45 +86,45 @@ void AliTRDefficiencyMC::Exec(Option_t *){
   // Fill the histograms
   //
   const Int_t kArraySize = 10000;     // Store indices of track references in an array
-  Int_t index_accepted[kArraySize], index_rejected[kArraySize], index_contamination[kArraySize];
-  memset(index_accepted, 0, sizeof(Int_t) * kArraySize);
-  memset(index_rejected, 0, sizeof(Int_t) * kArraySize);
-  memset(index_contamination, 0, sizeof(Int_t) * kArraySize);
+  Int_t indexAccepted[kArraySize], indexRejected[kArraySize], indexContamination[kArraySize];
+  memset(indexAccepted, 0, sizeof(Int_t) * kArraySize);
+  memset(indexRejected, 0, sizeof(Int_t) * kArraySize);
+  memset(indexContamination, 0, sizeof(Int_t) * kArraySize);
   Int_t naccepted = 0, nrejected = 0, ncontamination = 0;
   Bool_t isContamination = kFALSE;
   
   Int_t nTrackInfos = fTracks->GetEntriesFast();
-  AliTRDtrackV1 *TRDtrack = 0x0;
+  AliTRDtrackV1 *trackTRD = 0x0;
   AliTRDtrackInfo *trkInf = 0x0;
   for(Int_t itinf = 0; itinf < nTrackInfos; itinf++){
     trkInf = dynamic_cast<AliTRDtrackInfo *>(fTracks->UncheckedAt(itinf));
     if(!trkInf) continue;
     if(trkInf->GetTrack() || trkInf->GetNumberOfClustersRefit()){
-      isContamination = IsRegistered(trkInf,index_accepted,naccepted);
+      isContamination = IsRegistered(trkInf,indexAccepted,naccepted);
       if(!trkInf->GetNTrackRefs()){
         // We reject the track since the Monte Carlo Information is missing
         printf("Error: Track Reference missing for Track %d\n", trkInf->GetLabel());
         isContamination = kTRUE;
         // Debugging
-        if(TRDtrack && fDebugLevel > 5) FillStreamTrackWOMC(trkInf);
+        if(trackTRD && fDebugLevel > 5) FillStreamTrackWOMC(trkInf);
       }        
       if(isContamination){
         // reject kink (we count these only once)
         if(trkInf->GetKinkIndex()) continue;
         // Register track as contamination
-        index_contamination[ncontamination++]=itinf;
+        indexContamination[ncontamination++]=itinf;
         continue;
       }
       // Accept track
       if(fDebugLevel > 3)printf("Accept track\n");
       // Register track as accepted
-      index_accepted[naccepted++] = itinf;
+      indexAccepted[naccepted++] = itinf;
     }else{
       if(IsFindable(trkInf)){
         // register track as rejected if not already registered there
         // Attention:
         // These track infos are not!!! registered as contamination
-        if(!IsRegistered(trkInf, index_rejected, nrejected)) index_rejected[nrejected++] = itinf;
+        if(!IsRegistered(trkInf, indexRejected, nrejected)) indexRejected[nrejected++] = itinf;
       }
     }
   }
@@ -139,16 +136,16 @@ void AliTRDefficiencyMC::Exec(Option_t *){
   // Attention:
   // these tracks are not! registered as contamination
   Int_t tmprejected[kArraySize]; Int_t nrej = nrejected;
-  memcpy(tmprejected, index_rejected, sizeof(Int_t) * nrejected);
+  memcpy(tmprejected, indexRejected, sizeof(Int_t) * nrejected);
   nrejected = 0;
   for(Int_t irej = 0; irej < nrej; irej++){
     trkInf = dynamic_cast<AliTRDtrackInfo *>(fTracks->At(tmprejected[irej]));
-    if(!IsRegistered(trkInf,index_accepted,naccepted)) index_rejected[nrejected++] = tmprejected[irej];
+    if(!IsRegistered(trkInf,indexAccepted,naccepted)) indexRejected[nrejected++] = tmprejected[irej];
   }
   // Fill Histograms
-  FillHistograms(naccepted, &index_accepted[0], kAccepted);
-  FillHistograms(nrejected, &index_rejected[0], kRejected);
-  FillHistograms(ncontamination, &index_contamination[0], kContamination);
+  FillHistograms(naccepted, &indexAccepted[0], kAccepted);
+  FillHistograms(nrejected, &indexRejected[0], kRejected);
+  FillHistograms(ncontamination, &indexContamination[0], kContamination);
   Int_t nall = naccepted + nrejected;
   //if(fDebugLevel>=1)
   printf("%3d Tracks: MC[%3d] TRD[%3d | %5.2f%%] \n", (Int_t)AliAnalysisManager::GetAnalysisManager()->GetCurrentEntry(), nall, naccepted, nall ? 1.E2*Float_t(naccepted)/Float_t(nall) : 0.);
@@ -157,25 +154,6 @@ void AliTRDefficiencyMC::Exec(Option_t *){
   PostData(0, fContainer);
 }
 
-//_____________________________________________________________________________
-void AliTRDefficiencyMC::Terminate(Option_t *)
-{
-  //
-  // Termination
-  //
-
-  if(fDebugStream){ 
-    delete fDebugStream;
-    fDebugStream = 0x0;
-    fDebugLevel = 0;
-  }
-
-  fContainer = dynamic_cast<TObjArray*>(GetOutputData(0));
-  if (!fContainer) {
-    Printf("ERROR: list not available");
-    return;
-  }
-}
 
 //_____________________________________________________________________________
 Bool_t AliTRDefficiencyMC::PostProcess()
@@ -285,7 +263,7 @@ TObjArray *AliTRDefficiencyMC::Histos(){
 }
 
 //_____________________________________________________________________________
-Bool_t AliTRDefficiencyMC::IsFindable(AliTRDtrackInfo *trkInf){
+Bool_t AliTRDefficiencyMC::IsFindable(AliTRDtrackInfo * const trkInf){
   //
   // Apply Cuts on the Monte Carlo track references
   // return whether track is findable or not
@@ -308,7 +286,7 @@ Bool_t AliTRDefficiencyMC::IsFindable(AliTRDtrackInfo *trkInf){
     x = trackRef->LocalX(); 
         
     // Be Sure that we are inside TRD
-    if(x < AliTRDinfoGen::xTPC || x > AliTRDinfoGen::xTOF) continue;   
+    if(x < AliTRDinfoGen::GetTPCx() || x > AliTRDinfoGen::GetTOFx()) continue; 
     sector[itr] = Int_t(trackRef->Alpha()/kAlpha);
     if(x < xmin){
       xmin = trackRef->LocalX();
@@ -399,21 +377,21 @@ void AliTRDefficiencyMC::FillHistograms(Int_t nTracks, Int_t *indices, FillingMo
         break;
     }
     // Fill species histogram
-    Int_t part_spec = -1;
+    Int_t partSpec = -1;
     for(Int_t ispec = 0; ispec < AliPID::kSPECIES; ispec++){
-      if(trkpid == pid[ispec]) part_spec = ispec;
+      if(trkpid == pid[ispec]) partSpec = ispec;
     }
-    if(part_spec >= 0){
+    if(partSpec >= 0){
       switch(mode){
         case kAccepted:
-          (dynamic_cast<TProfile *>(fContainer->At(kEfficiencySpeciesHistogram + part_spec)))->Fill(trkmom, 1);
-          (dynamic_cast<TProfile *>(fContainer->At(kContaminationSpeciesHistogram + part_spec)))->Fill(trkmom, 0);
+          (dynamic_cast<TProfile *>(fContainer->At(kEfficiencySpeciesHistogram + partSpec)))->Fill(trkmom, 1);
+          (dynamic_cast<TProfile *>(fContainer->At(kContaminationSpeciesHistogram + partSpec)))->Fill(trkmom, 0);
           break;
         case kRejected:
-          (dynamic_cast<TProfile *>(fContainer->At(kEfficiencySpeciesHistogram + part_spec)))->Fill(trkmom, 0);          (dynamic_cast<TProfile *>(fContainer->At(kContaminationSpeciesHistogram + part_spec)))->Fill(trkmom, 0);
+          (dynamic_cast<TProfile *>(fContainer->At(kEfficiencySpeciesHistogram + partSpec)))->Fill(trkmom, 0);          (dynamic_cast<TProfile *>(fContainer->At(kContaminationSpeciesHistogram + partSpec)))->Fill(trkmom, 0);
           break;
         case kContamination:
-          (dynamic_cast<TProfile *>(fContainer->At(kContaminationSpeciesHistogram + part_spec)))->Fill(trkmom, 1);
+          (dynamic_cast<TProfile *>(fContainer->At(kContaminationSpeciesHistogram + partSpec)))->Fill(trkmom, 1);
           break;
       }
     } else {
@@ -425,7 +403,7 @@ void AliTRDefficiencyMC::FillHistograms(Int_t nTracks, Int_t *indices, FillingMo
 }
 
 //_____________________________________________________________________________
-void AliTRDefficiencyMC::FillStreamTrackWOMC(AliTRDtrackInfo *trkInf){
+void AliTRDefficiencyMC::FillStreamTrackWOMC(AliTRDtrackInfo * const trkInf){
   // fill debug stream
   // we want to know:
   //  1. The event number
@@ -444,29 +422,29 @@ void AliTRDefficiencyMC::FillStreamTrackWOMC(AliTRDtrackInfo *trkInf){
   Int_t label = trkInf->GetLabel();
   Int_t kinkIndex = trkInf->GetKinkIndex();
   Int_t pdg = trkInf->GetPDG();
-  Double_t TPCphi = trkInf->GetESDinfo()->GetOuterParam()->Phi();
-  Int_t TRDlabels[180];        // Container for the cluster labels
+  Double_t phiTPC = trkInf->GetESDinfo()->GetOuterParam()->Phi();
+  Int_t labelsTRD[180];        // Container for the cluster labels
   Int_t sortlabels[360];       // Cluster Labels sorted according their occurancy
   AliTRDseedV1 *tracklet = 0x0;
   AliTRDcluster *c = 0x0;
   Int_t nclusters = 0x0;
-  AliTRDtrackV1 *TRDtrack = trkInf->GetTrack();
+  AliTRDtrackV1 *trackTRD = trkInf->GetTrack();
   for(Int_t il = 0; il < AliTRDgeometry::kNlayer; il++){
-    tracklet = TRDtrack->GetTracklet(il);
+    tracklet = trackTRD->GetTracklet(il);
     if(!tracklet) continue;
     tracklet->ResetClusterIter();
     c = 0x0;
-    while((c = tracklet->NextCluster())) TRDlabels[nclusters++] = c->GetLabel(0);
+    while((c = tracklet->NextCluster())) labelsTRD[nclusters++] = c->GetLabel(0);
   }
   // Determine Label and Frequency
-  AliMathBase::Freq(nclusters, const_cast<const Int_t *>(&TRDlabels[0]), &sortlabels[0], kTRUE);
-  Int_t TRDLabel = sortlabels[0];
+  AliMathBase::Freq(nclusters, const_cast<const Int_t *>(&labelsTRD[0]), &sortlabels[0], kTRUE);
+  Int_t labelTRD = sortlabels[0];
   Int_t freqTRD = sortlabels[1];
   // find the track info object matching to the TRD track
   AliTRDtrackInfo *realtrack = 0;
   TObjArrayIter rtiter(fTracks);
   while((realtrack = (AliTRDtrackInfo *)rtiter())){
-    if(realtrack->GetLabel() != TRDLabel) continue;
+    if(realtrack->GetLabel() != labelTRD) continue;
     break;
   }
   TClonesArray trackRefs("AliTrackReference");
@@ -487,11 +465,11 @@ void AliTRDefficiencyMC::FillStreamTrackWOMC(AliTRDtrackInfo *trkInf){
   (*fDebugStream) << "TrackingEffMCfake"
     << "Event="        << event
     << "Label=" << label
-    << "TRDLabel=" << TRDLabel
+    << "labelTRD=" << labelTRD
     << "FreqTRDlabel=" << freqTRD
     << "TPCp=" << mom
-    << "TPCphi=" << TPCphi
-    << "TRDtrack=" << TRDtrack
+    << "phiTPC=" << phiTPC
+    << "trackTRD=" << trackTRD
     << "PDG="  << pdg
     << "TrackRefs=" << &trackRefs
     << "RealPDG=" << realPdg
@@ -502,7 +480,7 @@ void AliTRDefficiencyMC::FillStreamTrackWOMC(AliTRDtrackInfo *trkInf){
 }
 
 //_____________________________________________________________________________
-Bool_t AliTRDefficiencyMC::IsRegistered(AliTRDtrackInfo *trkInf, Int_t *indices, Int_t nTracks){
+Bool_t AliTRDefficiencyMC::IsRegistered(AliTRDtrackInfo * const trkInf, Int_t *indices, Int_t nTracks){
   //
   // Checks if track is registered in a given mode
   //
index d8c0f85..b0890ac 100644 (file)
@@ -22,7 +22,6 @@ public:
   
   void        CreateOutputObjects();
   void        Exec(Option_t *);
-  void        Terminate(Option_t *);
   
   Bool_t      PostProcess();
   TObjArray*  Histos();
@@ -46,10 +45,10 @@ private:
   AliTRDefficiencyMC& operator=(const AliTRDefficiencyMC &);
   
   void    FillHistograms(Int_t ntracks, Int_t *indices, FillingMode_t mode);
-  void    FillStreamTrackWOMC(AliTRDtrackInfo *trkInf);
+  void    FillStreamTrackWOMC(AliTRDtrackInfo * const trkInf);
 
-  Bool_t  IsFindable(AliTRDtrackInfo *trkInf);
-  Bool_t  IsRegistered(AliTRDtrackInfo *trkInf, Int_t *indices, Int_t nTracks);
+  Bool_t  IsFindable(AliTRDtrackInfo * const trkInf);
+  Bool_t  IsRegistered(AliTRDtrackInfo * const trkInf, Int_t *indices, Int_t nTracks);
     
   ClassDef(AliTRDefficiencyMC, 1); // Combined tracking efficiency
 };
index 45d5e85..c7e538e 100644 (file)
 
 ClassImp(AliTRDinfoGen)
 
-const Float_t AliTRDinfoGen::xTPC = 290.;
-const Float_t AliTRDinfoGen::xTOF = 365.;
+const Float_t AliTRDinfoGen::fgkTPC = 290.;
+const Float_t AliTRDinfoGen::fgkTOF = 365.;
 
 //____________________________________________________________________
 AliTRDinfoGen::AliTRDinfoGen():
   AliTRDrecoTask("infoGen", "MC-REC TRD-track list generator")
-  ,fESD(0x0)
-  ,fMC(0x0)
+  ,fESDev(0x0)
+  ,fMCev(0x0)
   ,fESDfriend(0x0)
   ,fTrackInfo(0x0)
   ,fEventInfo(0x0)
@@ -94,6 +94,7 @@ AliTRDinfoGen::AliTRDinfoGen():
 //____________________________________________________________________
 AliTRDinfoGen::~AliTRDinfoGen()
 {
+// Destructor
   if(fTrackInfo) delete fTrackInfo; fTrackInfo = 0x0;
   if(fEventInfo) delete fEventInfo; fEventInfo = 0x0;
   if(fV0Info) delete fV0Info; fV0Info = 0x0;
@@ -125,12 +126,12 @@ void AliTRDinfoGen::ConnectInputData(Option_t *)
   if(!esdH){
     printf("ERROR - ESD input handler not found");
   } else {
-    fESD = esdH->GetEvent();
-    if(!fESD){
+    fESDev = esdH->GetEvent();
+    if(!fESDev){
       printf("ERROR - ESD event not found");
     } else {
       esdH->SetActiveBranches("ESDfriend*");
-      fESDfriend = (AliESDfriend *)fESD->FindListObject("AliESDfriend");
+      fESDfriend = (AliESDfriend *)fESDev->FindListObject("AliESDfriend");
     }
   }
   if(HasMCdata()){
@@ -138,7 +139,7 @@ void AliTRDinfoGen::ConnectInputData(Option_t *)
     if(!mcH){ 
       AliError("MC input handler not found");
     } else {
-      fMC = mcH->MCEvent();
+      fMCev = mcH->MCEvent();
     }
   }
 }
@@ -164,7 +165,7 @@ void AliTRDinfoGen::Exec(Option_t *){
   //
   // Run the Analysis
   //
-  if(!fESD){
+  if(!fESDev){
     AliError("Failed retrieving ESD event");
     return;
   }
@@ -172,21 +173,21 @@ void AliTRDinfoGen::Exec(Option_t *){
     AliError("Failed retrieving ESD friend event");
     return;
   }
-  if(HasMCdata() && !fMC){
+  if(HasMCdata() && !fMCev){
     AliError("Failed retrieving MC event");
     return;
   }
   fContainer->Delete();
   fV0container->Delete();
   fEventInfo->Delete("");
-  fESD->SetESDfriend(fESDfriend);
-  new(fEventInfo)AliTRDeventInfo(fESD->GetHeader(), const_cast<AliESDRun *>(fESD->GetESDRun()));
+  fESDev->SetESDfriend(fESDfriend);
+  new(fEventInfo)AliTRDeventInfo(fESDev->GetHeader(), const_cast<AliESDRun *>(fESDev->GetESDRun()));
   
   Bool_t *trackMap = 0x0;
   AliStack * mStack = 0x0;
-  Int_t nTracksMC = HasMCdata() ? fMC->GetNumberOfTracks() : 0, nTracksESD = fESD->GetNumberOfTracks();
+  Int_t nTracksMC = HasMCdata() ? fMCev->GetNumberOfTracks() : 0, nTracksESD = fESDev->GetNumberOfTracks();
   if(HasMCdata()){
-    mStack = fMC->Stack();
+    mStack = fMCev->Stack();
     if(!mStack){
       AliError("Failed retrieving MC Stack");
       return;
@@ -206,7 +207,7 @@ void AliTRDinfoGen::Exec(Option_t *){
   AliTRDseedV1 *tracklet = 0x0;
   AliTRDcluster *cl = 0x0;
   for(Int_t itrk = 0; itrk < nTracksESD; itrk++){
-    esdTrack = fESD->GetTrack(itrk);
+    esdTrack = fESDev->GetTrack(itrk);
     if(fDebugLevel>=2) printf("\n%3d ITS[%d] TPC[%d] TRD[%d]\n", itrk, esdTrack->GetNcls(0), esdTrack->GetNcls(1), esdTrack->GetNcls(2));
     if(esdTrack->GetNcls(1)) nTPC++;
     if(esdTrack->GetNcls(2)) nTRD++;
@@ -234,7 +235,7 @@ void AliTRDinfoGen::Exec(Option_t *){
         continue; 
       }
       AliMCParticle *mcParticle = 0x0; 
-      if(!(mcParticle = (AliMCParticle*) fMC->GetTrack(alab))){
+      if(!(mcParticle = (AliMCParticle*) fMCev->GetTrack(alab))){
         AliError(Form("MC particle label[%d] missing for Ev[%d] Trk[%d].", label, (Int_t)AliAnalysisManager::GetAnalysisManager()->GetCurrentEntry(), itrk));
         continue;
       }
@@ -243,7 +244,7 @@ void AliTRDinfoGen::Exec(Option_t *){
       Int_t iref = 0; AliTrackReference *ref = 0x0; 
       while(iref<nRefs){
         ref = mcParticle->GetTrackReference(iref);
-        if(ref->LocalX() > xTPC) break;
+        if(ref->LocalX() > fgkTPC) break;
         iref++;
       }
 
@@ -253,7 +254,7 @@ void AliTRDinfoGen::Exec(Option_t *){
       Int_t jref = iref;//, kref = 0;
       while(jref<nRefs){
         ref = mcParticle->GetTrackReference(jref);
-        if(ref->LocalX() > xTOF) break;
+        if(ref->LocalX() > fgkTOF) break;
         if(fDebugLevel>=3) printf("\ttrackRef[%2d (%2d)] @ %7.3f OK\n", jref-iref, jref, ref->LocalX());
         fTrackInfo->AddTrackRef(ref);
         jref++;
@@ -329,7 +330,7 @@ void AliTRDinfoGen::Exec(Option_t *){
   
     for(Int_t itk = 0; itk < nTracksMC; itk++){
       if(trackMap[itk]) continue;
-      AliMCParticle *mcParticle =  (AliMCParticle*) fMC->GetTrack(TMath::Abs(itk));
+      AliMCParticle *mcParticle =  (AliMCParticle*) fMCev->GetTrack(TMath::Abs(itk));
       Int_t fPdg = mcParticle->Particle()->GetPdgCode();
       Int_t nRefs = mcParticle->GetNumberOfTrackReferences();
       Int_t iref = 0; AliTrackReference *ref = 0x0; 
@@ -374,15 +375,3 @@ void AliTRDinfoGen::Exec(Option_t *){
   PostData(2, fV0container);
 }
 
-
-//____________________________________________________________________
-void AliTRDinfoGen::Terminate(Option_t *)
-{
-  //
-  // Stays empty because we are only interested in the tree
-  //
-  if(fDebugStream){ 
-    delete fDebugStream;
-    fDebugStream = 0x0;
-  }
-}
index 8e0b31e..61dafcc 100644 (file)
@@ -32,17 +32,18 @@ public:
   void  ConnectInputData(Option_t *);
   void  CreateOutputObjects();
   void  Exec(Option_t *);
-  void  Terminate(Option_t *);
-
-  static const Float_t xTPC;
-  static const Float_t xTOF;
+  static Float_t GetTPCx() { return fgkTPC;}
+  static Float_t GetTOFx() { return fgkTOF;}
 
 private:
+  static const Float_t fgkTPC; // end TPC radial position
+  static const Float_t fgkTOF; // begin TOF radial position
+
   AliTRDinfoGen(const AliTRDinfoGen&);
   AliTRDinfoGen& operator=(const AliTRDinfoGen&);
 
-  AliESDEvent      *fESD;            //! ESD event
-  AliMCEvent       *fMC;             //! MC event
+  AliESDEvent      *fESDev;          //! ESD event
+  AliMCEvent       *fMCev;           //! MC event
   AliESDfriend     *fESDfriend;      //! ESD friends
   AliTRDtrackInfo  *fTrackInfo;      //! Track info
   AliTRDeventInfo  *fEventInfo;                   //! Event info
index 972a7f7..ec2c43c 100644 (file)
@@ -114,17 +114,17 @@ void AliTRDpidRefMaker::Exec(Option_t *)
 
   AliTRDtrackInfo     *track = 0x0;
   //AliTRDv0Info           *v0 = 0x0;
-  AliTRDtrackV1    *TRDtrack = 0x0;
+  AliTRDtrackV1    *trackTRD = 0x0;
   AliTrackReference     *ref = 0x0;
   //AliExternalTrackParam *esd = 0x0;
-  AliTRDseedV1 *TRDtracklet = 0x0;
+  AliTRDseedV1 *trackletTRD = 0x0;
   for(Int_t itrk=0, nTRD=0; itrk<fTracks->GetEntriesFast(); itrk++){
     track = (AliTRDtrackInfo*)fTracks->UncheckedAt(itrk);
     if(!track->HasESDtrack()) continue;
     ULong_t status = track->GetStatus();
     if(!(status&AliESDtrack::kTPCout)) continue;
 
-    if(!(TRDtrack = track->GetTrack())) continue; 
+    if(!(trackTRD = track->GetTrack())) continue; 
     //&&(track->GetNumberOfClustersRefit()
 
     // TOO STRONG and might introduce a bias if short 
@@ -140,25 +140,25 @@ void AliTRDpidRefMaker::Exec(Option_t *)
     switch(fRefPID){
     case kV0: SetRefPID(kV0, track, fPID); break;
     case kMC: SetRefPID(kMC, track, fPID); break;
-    case kRec: SetRefPID(kRec, TRDtrack, fPID); break;
+    case kRec: SetRefPID(kRec, trackTRD, fPID); break;
     }
 
     // fill the momentum and dE/dx information
-    TRDtrack -> SetReconstructor(fReconstructor);
+    trackTRD -> SetReconstructor(fReconstructor);
     for(Int_t ily = 0; ily < AliTRDgeometry::kNlayer; ily++){
-      if(!(TRDtracklet = TRDtrack -> GetTracklet(ily))) continue;
-      if(!CookdEdx(TRDtracklet)) continue;
+      if(!(trackletTRD = trackTRD -> GetTracklet(ily))) continue;
+      if(!CookdEdx(trackletTRD)) continue;
       switch(fRefP){
       case kMC:
         if(!HasMCdata()){
           AliError("Could not retrive reference momentum from MC");
           return;
         }
-        if(!(ref = track->GetTrackRef(TRDtracklet))) continue;
+        if(!(ref = track->GetTrackRef(trackletTRD))) continue;
         fP = ref->P();
         break;
       case kRec:
-        fP = TRDtracklet->GetMomentum();
+        fP = trackletTRD->GetMomentum();
         break;
       default:
         AliWarning("Momentum reference source not implemented");
@@ -181,22 +181,10 @@ void AliTRDpidRefMaker::Exec(Option_t *)
 //________________________________________________________________________
 void AliTRDpidRefMaker::Fill() 
 {
+// Fill data tree
   fData->Fill();
 }
 
-//________________________________________________________________________
-void AliTRDpidRefMaker::Terminate(Option_t *) 
-{
-  // Draw result to the screen
-  // Called once at the end of the query
-
-  fContainer = dynamic_cast<TObjArray*>(GetOutputData(0));
-  if (!fContainer) {
-    AliError("List not available");
-    return;
-  }
-}
-
 
 //________________________________________________________________________
 void AliTRDpidRefMaker::SetRefPID(ETRDpidRefMakerSource select, void *source, Float_t *pid) 
@@ -254,12 +242,12 @@ void AliTRDpidRefMaker::SetRefPID(ETRDpidRefMakerSource select, void *source, Fl
     break;
   case kRec:
     { 
-      AliTRDtrackV1 *TRDtrack = static_cast<AliTRDtrackV1*>(source);
-      TRDtrack -> SetReconstructor(fReconstructor);
+      AliTRDtrackV1 *trackTRD = static_cast<AliTRDtrackV1*>(source);
+      trackTRD -> SetReconstructor(fReconstructor);
       //fReconstructor -> SetOption("nn");
-      TRDtrack -> CookPID();
+      trackTRD -> CookPID();
       for(Int_t iPart = 0; iPart < AliPID::kSPECIES; iPart++){
-        pid[iPart] = TRDtrack -> GetPID(iPart);
+        pid[iPart] = trackTRD -> GetPID(iPart);
         AliDebug(4, Form("PDG is (in V0info) %d %f", iPart, pid[iPart]));
       }
     }
@@ -273,6 +261,8 @@ void AliTRDpidRefMaker::SetRefPID(ETRDpidRefMakerSource select, void *source, Fl
 //________________________________________________________________________
 void AliTRDpidRefMaker::SetAbundance(Float_t train, Float_t test) 
 {
+// Split data sample between trainning and testing
+
   if(fTrainFreq<0. || fTrainFreq >1. ||
      fTestFreq<0.  || fTestFreq >1.){
     AliWarning("The input data should be in the interval [0, 1]");
index 5e32e0e..771cd75 100644 (file)
@@ -67,7 +67,7 @@ public:
   void    Terminate(Option_t *);
 
 protected:
-  virtual Float_t* CookdEdx(AliTRDseedV1*) = 0;
+  virtual Float_t* CookdEdx(AliTRDseedV1*) const = 0;
   virtual Int_t    GetNslices() = 0;
   virtual void     Fill();
 
index ae434ad..b239b31 100644 (file)
 #include <TH2D.h>
 #include <TH2I.h>
 #include <TPrincipal.h>
-#include <TVector3.h>
-#include <TLinearFitter.h>
+//#include <TVector3.h>
+//#include <TLinearFitter.h>
 #include <TCanvas.h>
-#include <TEllipse.h>
-#include <TMarker.h>
+//#include <TEllipse.h>
+//#include <TMarker.h>
 
 #include "AliLog.h"
 #include "../../STAT/TKDPDF.h"
@@ -109,6 +109,8 @@ void AliTRDpidRefMakerLQ::CreateOutputObjects()
 //________________________________________________________________________
 Float_t* AliTRDpidRefMakerLQ::CookdEdx(AliTRDseedV1 *trklt)
 {
+// Fill dEdx array for multidim LQ PID
+
   trklt->CookdEdx(AliTRDpidUtil::kLQslices);
   const Float_t *dedx = trklt->GetdEdx();
   if(dedx[0]+dedx[1] <= 0.) return 0x0;
@@ -124,6 +126,8 @@ Float_t* AliTRDpidRefMakerLQ::CookdEdx(AliTRDseedV1 *trklt)
 //__________________________________________________________________
 TObject* AliTRDpidRefMakerLQ::GetOCDBEntry(Option_t *opt)
 {
+// Steer loading of OCDB LQ PID
+
   TDirectoryFile *d = 0x0;
   if(!TFile::Open(Form("TRD.Calib%s.root", GetName()))) return 0x0;
   if(!(d=(TDirectoryFile*)gFile->Get(Form("PDF_%s", opt)))) return 0x0;
@@ -135,6 +139,8 @@ TObject* AliTRDpidRefMakerLQ::GetOCDBEntry(Option_t *opt)
 //__________________________________________________________________
 Bool_t AliTRDpidRefMakerLQ::GetRefFigure(Int_t ifig)
 {
+// Steering reference picture
+
   if(ifig<0 || ifig>AliTRDCalPID::kNMom-1){ 
     AliError("Ref fig requested outside definition.");
     return kFALSE;
index 38a21c2..bdbc85b 100644 (file)
@@ -34,13 +34,13 @@ public:
   ~AliTRDpidRefMakerLQ();
  
   void      CreateOutputObjects();
-  TObject*  GetOCDBEntry(Option_t *);
+  TObject*  GetOCDBEntry(Option_t *opt);
   Bool_t    GetRefFigure(Int_t ifig);
   Bool_t    PostProcess();
 
 protected:
-  Float_t*  CookdEdx(AliTRDseedV1*);
-  Int_t     GetNslices() { return 2;}
+  Float_t*  CookdEdx(AliTRDseedV1 *trklt);
+  Int_t     GetNslices() const { return 2;}
   void      Fill();
 
 private:
index f9144b3..a88bc6d 100644 (file)
@@ -1,3 +1,18 @@
+///////////////////////////////////////////////////////
+//
+// Basic class for Performance/Calibration TRD tasks
+// 
+// It performs generic tasks like :
+//   - data file manegment
+//   - reference container management
+//   - debug container management
+//   - interaction with AliAnalysisManager
+//   - Plot functor loop
+//
+// Author: Alexandru Bercuci <A.Bercuci@gsi.de>, 10/09/2008
+//
+/////////////////////////////////////////////////////////
+
 #include "TClass.h"
 #include "TMethod.h"
 #include "TMethodCall.h"
@@ -25,9 +40,9 @@ AliTRDrecoTask::AliTRDrecoTask(const char *name, const char *title)
   ,fPlotFuncList(0x0)
   ,fContainer(0x0)
   ,fTracks(0x0)
-  ,fTrack(0x0)
-  ,fMC(0x0)
-  ,fESD(0x0)
+  ,fkTrack(0x0)
+  ,fkMC(0x0)
+  ,fkESD(0x0)
   ,fDebugStream(0x0)
 {
   DefineInput(0, TObjArray::Class());
@@ -37,6 +52,9 @@ AliTRDrecoTask::AliTRDrecoTask(const char *name, const char *title)
 //_______________________________________________________
 AliTRDrecoTask::~AliTRDrecoTask() 
 {
+
+  // Generic task destructor
+
   printf(" %s (%s)\n", GetName(), GetTitle());
   if(fDebugStream){ 
     delete fDebugStream;
@@ -75,6 +93,8 @@ void AliTRDrecoTask::ConnectInputData(Option_t *)
 //_______________________________________________________
 void AliTRDrecoTask::Exec(Option_t *)
 {
+// Loop over Plot functors published by particular tasks
+
   if(!fPlotFuncList){
     AliWarning("No functor list defined for the reference plots");
     return;
@@ -86,9 +106,9 @@ void AliTRDrecoTask::Exec(Option_t *)
   TIter plotIter(fPlotFuncList);
   TObjArrayIter trackIter(fTracks);
   while((trackInfo = dynamic_cast<AliTRDtrackInfo*>(trackIter()))){
-    fTrack = trackInfo->GetTrack();
-    fMC    = trackInfo->GetMCinfo();
-    fESD   = trackInfo->GetESDinfo();
+    fkTrack = trackInfo->GetTrack();
+    fkMC    = trackInfo->GetMCinfo();
+    fkESD   = trackInfo->GetESDinfo();
 
     TMethodCall *plot = 0x0;
     plotIter.Reset();
@@ -107,18 +127,22 @@ Bool_t AliTRDrecoTask::GetRefFigure(Int_t /*ifig*/)
 }
 
 //_______________________________________________________
-Bool_t AliTRDrecoTask::PutTrendValue(Char_t *name, Double_t val, Double_t err)
+Bool_t AliTRDrecoTask::PutTrendValue(Char_t *name, Double_t val)
 {
+// Generic publisher for trend values
+
   if(!fgFile){
     fgFile = fopen("TRD.Performance.txt", "at");
   }
-  fprintf(fgFile, "%s_%s %f %f\n", GetName(), name, val, err);
+  fprintf(fgFile, "%s_%s %f %f\n", GetName(), name, val);
   return kTRUE;
 }
 
 //_______________________________________________________
 void AliTRDrecoTask::InitFunctorList()
 {
+// Initialize list of functors
+
   TClass *c = this->IsA();
 
   TMethod *m = 0x0;
@@ -134,6 +158,8 @@ void AliTRDrecoTask::InitFunctorList()
 //_______________________________________________________
 Bool_t AliTRDrecoTask::Load(const Char_t *filename)
 {
+// Generic container loader
+
   if(!TFile::Open(filename)){
     AliWarning(Form("Couldn't open file %s.", filename));
     return kFALSE;
@@ -149,7 +175,7 @@ Bool_t AliTRDrecoTask::Load(const Char_t *filename)
 }
 
 //________________________________________________________
-Bool_t AliTRDrecoTask::Save(TObjArray *results){
+Bool_t AliTRDrecoTask::Save(TObjArray * const results){
   //
   // Store the output graphs in a ROOT file
   // Input TObject array will not be written as Key to the file,
@@ -174,6 +200,8 @@ Bool_t AliTRDrecoTask::Save(TObjArray *results){
 //_______________________________________________________
 Bool_t AliTRDrecoTask::PostProcess()
 {
+// To be implemented by particular tasks
+
   AliWarning("Post processing of reference histograms not implemented.");
   return kFALSE;
 }
@@ -181,6 +209,8 @@ Bool_t AliTRDrecoTask::PostProcess()
 //_______________________________________________________
 void AliTRDrecoTask::SetDebugLevel(Int_t level)
 {
+// Generic debug handler
+
   fDebugLevel = level;
   if(fDebugLevel>=1){
     TDirectory *savedir = gDirectory;
@@ -189,8 +219,22 @@ void AliTRDrecoTask::SetDebugLevel(Int_t level)
   }
 }
 
+//____________________________________________________________________
+void AliTRDrecoTask::Terminate(Option_t *)
+{
+  //
+  // Terminate
+  //
+
+  if(fDebugStream){ 
+    delete fDebugStream;
+    fDebugStream = 0x0;
+    fDebugLevel = 0;
+  }
+}
+
 //________________________________________________________
-void AliTRDrecoTask::Adjust(TF1 *f, TH1 *h)
+void AliTRDrecoTask::Adjust(TF1 *f, TH1 * const h)
 {
 // Helper function to avoid duplication of code
 // Make first guesses on the fit parameters
index fa3378a..1b2cc80 100644 (file)
@@ -1,8 +1,13 @@
 #ifndef ALITRDRECOTASK_H
 #define ALITRDRECOTASK_H
 
-
+///////////////////////////////////////////////////////
+//
+// Basic class for Performance/Calibration TRD tasks
+//
 // Author: Alexandru Bercuci, 10/09/2008
+//
+//////////////////////////////////////////////////
 
 #ifndef ALIANALYSISTASK_H
 #include "AliAnalysisTask.h"
@@ -46,36 +51,34 @@ public:
   virtual TObjArray* Histos() {return fContainer;}
 
   virtual Bool_t Load(const Char_t *filename = "TRD.Performance.root");
-  virtual Bool_t Save(TObjArray *res);
+  virtual Bool_t Save(TObjArray * const res);
   virtual Bool_t PostProcess();
-  virtual Bool_t PutTrendValue(Char_t *name, Double_t val, Double_t err);
+  virtual Bool_t PutTrendValue(Char_t *name, Double_t val);
   virtual void   SetDebugLevel(Int_t level);
   virtual void   SetFriends(Bool_t fr = kTRUE) {SetBit(kFriends, fr);}
   virtual void   SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);}
   virtual void   SetPostProcess(Bool_t pp = kTRUE) {SetBit(kPostProcess, pp);}
-  virtual void   Terminate(Option_t *) = 0;
+  virtual void   Terminate(Option_t *);
 
 protected:
   void   InitFunctorList();
-  void   Adjust(TF1 *f, TH1 *h);
-
-
-private:
-  AliTRDrecoTask(const AliTRDrecoTask&);
-  AliTRDrecoTask& operator=(const AliTRDrecoTask&);
+  void   Adjust(TF1 *f, TH1 * const h);
 
-protected:
   UChar_t   fNRefFigures;  //! no of reference figures reported by task
   UChar_t   fDebugLevel;   //! Debug level 
   TList     *fPlotFuncList;//! plot functors list
   TObjArray *fContainer;   //! container to store results
   TObjArray *fTracks;      //! Array of tracks
-  const AliTRDtrackV1    *fTrack;         //! current track
-  const AliTRDtrackInfo::AliMCinfo  *fMC; //! MC info
-  const AliTRDtrackInfo::AliESDinfo *fESD;//! ESD info
+  const AliTRDtrackV1    *fkTrack;         //! current track
+  const AliTRDtrackInfo::AliMCinfo  *fkMC; //! MC info
+  const AliTRDtrackInfo::AliESDinfo *fkESD;//! ESD info
   TTreeSRedirector *fDebugStream;   //! Debug stream 
   static FILE *fgFile;         //! trend file streamer
 
+private:
+  AliTRDrecoTask(const AliTRDrecoTask&);
+  AliTRDrecoTask& operator=(const AliTRDrecoTask&);
+
   ClassDef(AliTRDrecoTask, 1) // base TRD reconstruction task
 };
 
index a287ab1..e2716a5 100644 (file)
@@ -244,8 +244,8 @@ void AliTRDresolution::Exec(Option_t *opt)
 //________________________________________________________
 TH1* AliTRDresolution::PlotCharge(const AliTRDtrackV1 *track)
 {
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -259,7 +259,7 @@ TH1* AliTRDresolution::PlotCharge(const AliTRDtrackV1 *track)
   AliTRDseedV1 *fTracklet = 0x0;  
   AliTRDcluster *c = 0x0;
   for(Int_t ily=0; ily<AliTRDgeometry::kNlayer; ily++){
-    if(!(fTracklet = fTrack->GetTracklet(ily))) continue;
+    if(!(fTracklet = fkTrack->GetTracklet(ily))) continue;
     if(!fTracklet->IsOK()) continue;
     Float_t x0 = fTracklet->GetX0();
     Float_t dq, dl;
@@ -285,8 +285,8 @@ TH1* AliTRDresolution::PlotCharge(const AliTRDtrackV1 *track)
 //________________________________________________________
 TH1* AliTRDresolution::PlotCluster(const AliTRDtrackV1 *track)
 {
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -300,7 +300,7 @@ TH1* AliTRDresolution::PlotCluster(const AliTRDtrackV1 *track)
   Float_t x0, y0, z0, dy, dydx, dzdx;
   AliTRDseedV1 *fTracklet = 0x0;  
   for(Int_t ily=0; ily<AliTRDgeometry::kNlayer; ily++){
-    if(!(fTracklet = fTrack->GetTracklet(ily))) continue;
+    if(!(fTracklet = fkTrack->GetTracklet(ily))) continue;
     if(!fTracklet->IsOK()) continue;
     x0 = fTracklet->GetX0();
 
@@ -367,8 +367,8 @@ TH1* AliTRDresolution::PlotTracklet(const AliTRDtrackV1 *track)
 // END_LATEX
 // in our case X=(y_trklt - y_trk z_trklt - z_trk) and |Cov| = |Cov_trklt| + |Cov_trk| at the radial 
 // reference position. 
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
@@ -382,7 +382,7 @@ TH1* AliTRDresolution::PlotTracklet(const AliTRDtrackV1 *track)
   Float_t x, dx, dy, dz;
   AliTRDseedV1 *fTracklet = 0x0;  
   for(Int_t il=AliTRDgeometry::kNlayer; il--;){
-    if(!(fTracklet = fTrack->GetTracklet(il))) continue;
+    if(!(fTracklet = fkTrack->GetTracklet(il))) continue;
     if(!fTracklet->IsOK()) continue;
     x    = fTracklet->GetX();
     dx   = fTracklet->GetX0() - x;
@@ -427,13 +427,13 @@ TH1* AliTRDresolution::PlotTrackTPC(const AliTRDtrackV1 *track)
 // Additionally the momentum resolution/pulls are calculated for usage in the 
 // PID calculation. 
 
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
   AliExternalTrackParam *tin = 0x0;
-  if(!(tin = fTrack->GetTrackLow())){
+  if(!(tin = fkTrack->GetTrackLow())){
     AliWarning("Track did not entered TRD fiducial volume.");
     return 0x0;
   }
@@ -442,7 +442,7 @@ TH1* AliTRDresolution::PlotTrackTPC(const AliTRDtrackV1 *track)
   Double_t x = tin->GetX();
   AliTRDseedV1 *tracklet = 0x0;  
   for(Int_t ily=0; ily<AliTRDgeometry::kNlayer; ily++){
-    if(!(tracklet = fTrack->GetTracklet(ily))) continue;
+    if(!(tracklet = fkTrack->GetTracklet(ily))) continue;
     break;
   }
   if(!tracklet || TMath::Abs(x-tracklet->GetX())>1.e-3){
@@ -504,7 +504,7 @@ TH1* AliTRDresolution::PlotTrackTPC(const AliTRDtrackV1 *track)
   if(!HasMCdata()) return h;
   UChar_t s;
   Float_t dx, pt0, x0=tracklet->GetX0(), y0, z0, dydx0, dzdx0;
-  if(!fMC->GetDirections(x0, y0, z0, dydx0, dzdx0, pt0, s)) return h;
+  if(!fkMC->GetDirections(x0, y0, z0, dydx0, dzdx0, pt0, s)) return h;
   // translate to reference radial position
   dx = x0 - x; y0 -= dx*dydx0; z0 -= dx*dzdx0;
   Float_t norm = 1./TMath::Sqrt(1.+dydx0*dydx0); // 1/sqrt(1+tg^2(phi))
@@ -537,7 +537,7 @@ TH1* AliTRDresolution::PlotTrackTPC(const AliTRDtrackV1 *track)
   ((TH2I*)arr->At(7))->Fill(dzdx0, (PARMC[3]-PAR[3])/TMath::Sqrt(COV(3,3)));
   // pt resolution\\1/pt pulls\\p resolution/pull
   for(Int_t is=AliPID::kSPECIES; is--;){
-    if(TMath::Abs(fMC->GetPDG())!=AliPID::ParticleCode(is)) continue;
+    if(TMath::Abs(fkMC->GetPDG())!=AliPID::ParticleCode(is)) continue;
     ((TH3S*)arr->At(8))->Fill(pt0, PARMC[4]/PAR[4]-1., is);
     ((TH3S*)arr->At(9))->Fill(PARMC[4], (PARMC[4]-PAR[4])/TMath::Sqrt(COV(4,4)), is);
 
@@ -565,23 +565,23 @@ TH1* AliTRDresolution::PlotMC(const AliTRDtrackV1 *track)
     AliWarning("No MC defined. Results will not be available.");
     return 0x0;
   }
-  if(track) fTrack = track;
-  if(!fTrack){
+  if(track) fkTrack = track;
+  if(!fkTrack){
     AliWarning("No Track defined.");
     return 0x0;
   }
   TObjArray *arr = 0x0;
   TH1 *h = 0x0;
   UChar_t s;
-  Int_t pdg = fMC->GetPDG(), det=-1;
-  Int_t label = fMC->GetLabel();
+  Int_t pdg = fkMC->GetPDG(), det=-1;
+  Int_t label = fkMC->GetLabel();
   Double_t xAnode, x, y, z, pt, dydx, dzdx, dzdl;
   Float_t pt0, x0, y0, z0, dx, dy, dz, dydx0, dzdx0;
   Double_t covR[7]/*, cov[3]*/;
 
   if(fDebugLevel>=1){
     Double_t DX[12], DY[12], DZ[12], DPt[12], COV[12][15];
-    fMC->PropagateKalman(DX, DY, DZ, DPt, COV);
+    fkMC->PropagateKalman(DX, DY, DZ, DPt, COV);
     (*fDebugStream) << "MCkalman"
       << "pdg="  << pdg
       << "dx0="  << DX[0]
@@ -602,14 +602,14 @@ TH1* AliTRDresolution::PlotMC(const AliTRDtrackV1 *track)
   AliTRDReconstructor rec;
   AliTRDseedV1 *fTracklet = 0x0;  
   for(Int_t ily=0; ily<AliTRDgeometry::kNlayer; ily++){
-    if(!(fTracklet = fTrack->GetTracklet(ily)))/* ||
+    if(!(fTracklet = fkTrack->GetTracklet(ily)))/* ||
        !fTracklet->IsOK())*/ continue;
 
     det = fTracklet->GetDetector();
     x0  = fTracklet->GetX0();
     //radial shift with respect to the MC reference (radial position of the pad plane)
     x= fTracklet->GetX();
-    if(!fMC->GetDirections(x0, y0, z0, dydx0, dzdx0, pt0, s)) continue;
+    if(!fkMC->GetDirections(x0, y0, z0, dydx0, dzdx0, pt0, s)) continue;
     xAnode  = fTracklet->GetX0();
 
     // MC track position at reference radial position
@@ -1187,13 +1187,9 @@ Bool_t AliTRDresolution::PostProcess()
 
 
 //________________________________________________________
-void AliTRDresolution::Terminate(Option_t *)
+void AliTRDresolution::Terminate(Option_t *opt)
 {
-  if(fDebugStream){ 
-    delete fDebugStream;
-    fDebugStream = 0x0;
-    fDebugLevel = 0;
-  }
+  AliTRDrecoTask::Terminate(opt);
   if(HasPostProcess()) PostProcess();
 }
 
@@ -1809,10 +1805,11 @@ Bool_t AliTRDresolution::GetGraphPlot(Float_t *bb, ETRDresolutionPlot ip, Int_t
   for(Int_t jc=0; jc<TMath::Min(jdx,fNElements[ip]-1); jc++) nref++;
   Char_t **at = fAxTitle[nref];
 
-  PutTrendValue(Form("%s_%sMean", fPerformanceName[ip], at[0]), gm->GetMean(2), gm->GetRMS(2));
+  PutTrendValue(Form("%s_%s", fPerformanceName[ip], at[0]), gm->GetMean(2));
+  PutTrendValue(Form("%s_%sRMS", fPerformanceName[ip], at[0]), gm->GetRMS(2));
   gs->Sort(&TGraph::CompareY); Int_t n = gs->GetN();
-  PutTrendValue(Form("%s_%sSigMin", fPerformanceName[ip], at[0]), gs->GetY()[0], 0.);
-  PutTrendValue(Form("%s_%sSigMax", fPerformanceName[ip], at[0]), gs->GetY()[n-1], 0.);
+  PutTrendValue(Form("%s_%sSigMin", fPerformanceName[ip], at[0]), gs->GetY()[0]);
+  PutTrendValue(Form("%s_%sSigMax", fPerformanceName[ip], at[0]), gs->GetY()[n-1]);
   gs->Sort(&TGraph::CompareX); 
   
 
@@ -1864,8 +1861,8 @@ Bool_t AliTRDresolution::GetGraphTrack(Float_t *bb, Int_t idx, Int_t il)
     if(!gs->GetN()) continue;
     gs->Draw(is ? "pl" : "apl");
     gs->Sort(&TGraph::CompareY); Int_t n = gs->GetN();
-    PutTrendValue(Form("%s_%sSigMin%s", fPerformanceName[kMCtrackTRD], at[0], AliPID::ParticleShortName(is)), gs->GetY()[0], 0.);
-    PutTrendValue(Form("%s_%sSigMax%s", fPerformanceName[kMCtrackTRD], at[0], AliPID::ParticleShortName(is)), gs->GetY()[n-1], 0.);
+    PutTrendValue(Form("%s_%sSigMin%s", fPerformanceName[kMCtrackTRD], at[0], AliPID::ParticleShortName(is)), gs->GetY()[0]);
+    PutTrendValue(Form("%s_%sSigMax%s", fPerformanceName[kMCtrackTRD], at[0], AliPID::ParticleShortName(is)), gs->GetY()[n-1]);
     gs->Sort(&TGraph::CompareX); 
   }
   gs =  (TGraphErrors*)a0->At(0);
@@ -1896,7 +1893,8 @@ Bool_t AliTRDresolution::GetGraphTrack(Float_t *bb, Int_t idx, Int_t il)
     if(!(gm =  (TGraphErrors*)a0->At(is))) return kFALSE;
     if(!gm->GetN()) continue;
     gm->Draw("pl");
-    PutTrendValue(Form("%s_%sMean%s", fPerformanceName[kMCtrackTRD], at[0], AliPID::ParticleShortName(is)), gm->GetMean(2), gm->GetRMS(2));  
+    PutTrendValue(Form("%s_%s_%s", fPerformanceName[kMCtrackTRD], at[0], AliPID::ParticleShortName(is)), gm->GetMean(2));
+    PutTrendValue(Form("%s_%s_%sRMS", fPerformanceName[kMCtrackTRD], at[0], AliPID::ParticleShortName(is)), gm->GetRMS(2));
   }
 
   return kTRUE;
@@ -1923,8 +1921,8 @@ Bool_t AliTRDresolution::GetGraphTrackTPC(Float_t *bb, Int_t sel)
     if(!gs->GetN()) continue;
     gs->Draw(is ? "pl" : "apl");
     gs->Sort(&TGraph::CompareY); Int_t n = gs->GetN();
-    PutTrendValue(Form("%s_%sSigMin%s", fPerformanceName[kMCtrackTPC], at[0], AliPID::ParticleShortName(is)), gs->GetY()[0], 0.);
-    PutTrendValue(Form("%s_%sSigMax%s", fPerformanceName[kMCtrackTPC], at[0], AliPID::ParticleShortName(is)), gs->GetY()[n-1], 0.);
+    PutTrendValue(Form("%s_%sSigMin%s", fPerformanceName[kMCtrackTPC], at[0], AliPID::ParticleShortName(is)), gs->GetY()[0]);
+    PutTrendValue(Form("%s_%sSigMax%s", fPerformanceName[kMCtrackTPC], at[0], AliPID::ParticleShortName(is)), gs->GetY()[n-1]);
     gs->Sort(&TGraph::CompareX); 
   }
   gs =  (TGraphErrors*)a0->At(0);
@@ -1953,7 +1951,8 @@ Bool_t AliTRDresolution::GetGraphTrackTPC(Float_t *bb, Int_t sel)
     if(!(gm =  (TGraphErrors*)a0->At(is))) return kFALSE;
     if(!gm->GetN()) continue;
     gm->Draw("pl");
-    PutTrendValue(Form("%s_%sMean%s", fPerformanceName[kMCtrackTPC], at[0], AliPID::ParticleShortName(is)), gm->GetMean(2), gm->GetRMS(2));
+    PutTrendValue(Form("%s_%s_%s", fPerformanceName[kMCtrackTPC], at[0], AliPID::ParticleShortName(is)), gm->GetMean(2));
+    PutTrendValue(Form("%s_%s_%sRMS", fPerformanceName[kMCtrackTPC], at[0], AliPID::ParticleShortName(is)), gm->GetRMS(2));
   }
 
   return kTRUE;