small changes in TPCITS
authorjotwinow <jotwinow@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 8 Jul 2010 08:58:10 +0000 (08:58 +0000)
committerjotwinow <jotwinow@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 8 Jul 2010 08:58:10 +0000 (08:58 +0000)
PWG1/TPC/AliPerformanceDCA.cxx
PWG1/TPC/AliPerformanceDEdx.cxx
PWG1/TPC/AliPerformanceEff.cxx
PWG1/TPC/AliPerformanceRes.cxx
PWG1/TPC/AliPerformanceTPC.cxx
PWG1/TPC/AliPerformanceTPC.h
PWG1/TPC/macros/AddTaskPerformanceTPCITSQA.C

index 6f9914d..505c26c 100644 (file)
@@ -229,8 +229,7 @@ void AliPerformanceDCA::ProcessTPCITS(AliStack* const stack, AliESDtrack *const
 
   if ((esdTrack->GetStatus()&AliESDtrack::kTPCrefit)==0) return; // TPC refit
   if (esdTrack->GetTPCNcls()<fCutsRC->GetMinNClustersTPC()) return; // min. nb. TPC clusters  
-  Int_t clusterITS[200];
-  if(esdTrack->GetITSclusters(clusterITS)<fCutsRC->GetMinNClustersITS()) return;  // min. nb. ITS clusters
+  if(esdTrack->GetITSclusters(0)<fCutsRC->GetMinNClustersITS()) return;  // min. nb. ITS clusters
 
   Double_t vDCAHisto[5]={dca[0],dca[1],esdTrack->Eta(),esdTrack->Pt(), esdTrack->Phi()};
   fDCAHisto->Fill(vDCAHisto);
index 064c48f..3178713 100644 (file)
@@ -27,8 +27,9 @@
 
   // user can save whole comparison object (or only folder with anlysed histograms) 
   // in the seperate output file (e.g.)
-  TFile fout("Analysed_DEdx.root"."recreate");
-  compObj->Write(); // compObj->GetAnalysisFolder()->Write();
+  TFile fout("Analysed_DEdx.root","recreate");
+  //compObj->Write(); // compObj->GetAnalysisFolder()->Write();
+  compObj->GetAnalysisFolder()->Write();
   fout.Close();
 
 */
index 34f506c..6f03372 100644 (file)
@@ -728,7 +728,8 @@ if(!esdTrack) return kFALSE;
   Bool_t recStatus = kFALSE;\r
 \r
   if ((esdTrack->GetStatus()&AliESDtrack::kTPCrefit)==0) return kFALSE; // TPC refit\r
-  if (esdTrack->GetTPCNcls()<fCutsRC->GetMinNClustersTPC()) return kFALSE; // min. nb. TPC clusters\r
+  if ((esdTrack->GetStatus()&AliESDtrack::kITSrefit)==0) return kFALSE; // ITS refit\r
+  if (esdTrack->GetITSclusters(0)<fCutsRC->GetMinNClustersITS()) return kFALSE;  // min. nb. ITS clusters\r
   //if ((esdTrack->GetStatus()&AliESDtrack::kITSrefit)==0) return kFALSE; // ITS refit\r
   //Int_t clusterITS[200];\r
   //if(esdTrack->GetITSclusters(clusterITS)<fCutsRC->GetMinNClustersITS()) return kFALSE;  // min. nb. ITS clusters\r
index 2d05804..234688b 100644 (file)
@@ -353,8 +353,7 @@ void AliPerformanceRes::ProcessTPCITS(AliStack* const stack, AliESDtrack *const
 
   if ((esdTrack->GetStatus()&AliESDtrack::kTPCrefit)==0) return; // TPC refit
   if (esdTrack->GetTPCNcls()<fCutsRC->GetMinNClustersTPC()) return; // min. nb. TPC clusters  
-  Int_t clusterITS[200];
-  if(esdTrack->GetITSclusters(clusterITS)<fCutsRC->GetMinNClustersITS()) return;  // min. nb. ITS clusters
+  if(esdTrack->GetITSclusters(0)<fCutsRC->GetMinNClustersITS()) return;  // min. nb. ITS clusters
 
   Float_t deltaPtTPC, deltaYTPC, deltaZTPC, deltaPhiTPC, deltaLambdaTPC; 
   Float_t pull1PtTPC, pullYTPC, pullZTPC, pullPhiTPC, pullLambdaTPC; 
index 3b4c792..a6b45a3 100644 (file)
@@ -66,6 +66,8 @@ ClassImp(AliPerformanceTPC)
 //_____________________________________________________________________________
 AliPerformanceTPC::AliPerformanceTPC():
   AliPerformanceObject("AliPerformanceTPC"),
+  //fTPCClustHisto1(0),
+  //fTPCClustHisto2(0),
   fTPCClustHisto(0),
   fTPCEventHisto(0),
   fTPCTrackHisto(0),
@@ -84,6 +86,8 @@ AliPerformanceTPC::AliPerformanceTPC():
 //_____________________________________________________________________________
 AliPerformanceTPC::AliPerformanceTPC(Char_t* name="AliPerformanceTPC", Char_t* title="AliPerformanceTPC",Int_t analysisMode=0,Bool_t hptGenerator=kFALSE):
   AliPerformanceObject(name,title),
+  //fTPCClustHisto1(0),
+  //fTPCClustHisto2(0),
   fTPCClustHisto(0),
   fTPCEventHisto(0),
   fTPCTrackHisto(0),
@@ -109,6 +113,8 @@ AliPerformanceTPC::~AliPerformanceTPC()
 {
   // destructor
    
+  //if(fTPCClustHisto1) delete fTPCClustHisto1; fTPCClustHisto1=0;     
+  //if(fTPCClustHisto2) delete fTPCClustHisto2; fTPCClustHisto2=0;     
   if(fTPCClustHisto) delete fTPCClustHisto; fTPCClustHisto=0;     
   if(fTPCEventHisto) delete fTPCEventHisto; fTPCEventHisto=0;     
   if(fTPCTrackHisto) delete fTPCTrackHisto; fTPCTrackHisto=0;     
@@ -144,17 +150,43 @@ void AliPerformanceTPC::Init(){
   }
   */
   // 
+
+  /*
   //gclX:gclY:TPCSide
-  Int_t binsTPCClustHisto[3]=  { 500,   500,  2 };
-  Double_t minTPCClustHisto[3]={-250., -250., 0.};
-  Double_t maxTPCClustHisto[3]={ 250.,  250., 2.};
+  Int_t binsTPCClustHisto1[3]=  { 500,   500,  2 };
+  Double_t minTPCClustHisto1[3]={-250., -250., 0.};
+  Double_t maxTPCClustHisto1[3]={ 250.,  250., 2.};
+
+  fTPCClustHisto1 = new THnSparseF("fTPCClustHisto1","gclX:gclY:TPCSide",3,binsTPCClustHisto1,minTPCClustHisto1,maxTPCClustHisto1);
+  fTPCClustHisto1->GetAxis(0)->SetTitle("gclX (cm)");
+  fTPCClustHisto1->GetAxis(1)->SetTitle("gclY (cm)");
+  fTPCClustHisto1->GetAxis(2)->SetTitle("TPCSide");
+  fTPCClustHisto1->Sumw2();
+  // 
+  //padRow:phi:TPCSide
+  Int_t binsTPCClustHisto2[3] =   {160,  144,  2 };
+  Double_t minTPCClustHisto2[3] = {0.,   0.,   0.};
+  Double_t maxTPCClustHisto2[3] = {160., 2.*TMath::Pi(), 2.};
+
+  fTPCClustHisto2 = new THnSparseF("fTPCClustHisto2","padRow:phi:TPCSide",3,binsTPCClustHisto2,minTPCClustHisto2,maxTPCClustHisto2);
+  fTPCClustHisto2->GetAxis(0)->SetTitle("padRow");
+  fTPCClustHisto2->GetAxis(1)->SetTitle("phi (rad)");
+  fTPCClustHisto2->GetAxis(2)->SetTitle("TPCSide");
+  fTPCClustHisto2->Sumw2();
+  */
 
-  fTPCClustHisto = new THnSparseF("fTPCClustHisto","gclX:gclY:TPCSide",3,binsTPCClustHisto,minTPCClustHisto,maxTPCClustHisto);
-  fTPCClustHisto->GetAxis(0)->SetTitle("gclX (cm)");
-  fTPCClustHisto->GetAxis(1)->SetTitle("gclY (cm)");
+  // 
+  //padRow:phi:TPCSide
+  Int_t binsTPCClustHisto[3] =   {160,  180,  2 };
+  Double_t minTPCClustHisto[3] = {0.,   0.,   0.};
+  Double_t maxTPCClustHisto[3] = {160., 2.*TMath::Pi(), 2.};
+
+  fTPCClustHisto = new THnSparseF("fTPCClustHisto","padRow:phi:TPCSide",3,binsTPCClustHisto,minTPCClustHisto,maxTPCClustHisto);
+  fTPCClustHisto->GetAxis(0)->SetTitle("padRow");
+  fTPCClustHisto->GetAxis(1)->SetTitle("phi (rad)");
   fTPCClustHisto->GetAxis(2)->SetTitle("TPCSide");
   fTPCClustHisto->Sumw2();
 
   // Xv:Yv:Zv:mult:multP:multN:vertStatus
   Int_t binsTPCEventHisto[7]=  {100,  100,   100,  151,   151,   151, 2   };
@@ -298,6 +330,7 @@ void AliPerformanceTPC::ProcessTPCITS(AliStack* const stack, AliESDtrack *const
 
   if ((esdTrack->GetStatus()&AliESDtrack::kITSrefit)==0) return; // ITS refit
   if ((esdTrack->GetStatus()&AliESDtrack::kTPCrefit)==0) return; // TPC refit
+  if (esdTrack->GetITSclusters(0)<fCutsRC->GetMinNClustersITS()) return;  // min. nb. ITS clusters
 
   Float_t q = esdTrack->Charge();
   Float_t pt = esdTrack->Pt();
@@ -407,44 +440,52 @@ void AliPerformanceTPC::Exec(AliMCEvent* const mcEvent, AliESDEvent *const esdEv
     AliESDtrack *track = esdEvent->GetTrack(iTrack);
     if(!track) continue;
 
-    if(bUseESDfriend && esdFriend) 
+    if(bUseESDfriend && esdFriend && esdFriend->TestSkipBit()==kFALSE) 
     {
       AliESDfriendTrack *friendTrack=esdFriend->GetTrack(iTrack);
       if(friendTrack) 
       {
+        //
         TObject *calibObject=0;
         AliTPCseed *seed=0;
-        if (!friendTrack) continue;
-          for (Int_t j=0;(calibObject=friendTrack->GetCalibObject(j));++j) {
+        for (Int_t j=0;(calibObject=friendTrack->GetCalibObject(j));++j) {
            if ((seed=dynamic_cast<AliTPCseed*>(calibObject))) {
            break;
          }
         }
 
-        //AliTPCTransform *transform = AliTPCcalibDB::Instance()->GetTransform() ;
+        // 
        for (Int_t irow=0;irow<159;irow++) {
        if(!seed) continue;
          
          AliTPCclusterMI *cluster=seed->GetClusterPointer(irow);
          if (!cluster) continue;
 
-             Float_t gclf[3];
-             cluster->GetGlobalXYZ(gclf);
+            Float_t gclf[3];
+            cluster->GetGlobalXYZ(gclf);
 
-             //Double_t x[3]={cluster->GetRow(),cluster->GetPad(),cluster->GetTimeBin()};
-             //Int_t i[1]={cluster->GetDetector()};
-              //transform->Transform(x,i,0,1);
-             //printf("gx %f gy  %f  gz %f \n", cluster->GetX(), cluster->GetY(),cluster->GetZ());
-             //printf("gclf[0] %f gclf[1]  %f  gclf[2] %f \n", gclf[0], gclf[1],  gclf[2]);
+            //Double_t x[3]={cluster->GetRow(),cluster->GetPad(),cluster->GetTimeBin()};
+            //Int_t i[1]={cluster->GetDetector()};
+             //transform->Transform(x,i,0,1);
+            //printf("gx %f gy  %f  gz %f \n", cluster->GetX(), cluster->GetY(),cluster->GetZ());
+            //printf("gclf[0] %f gclf[1]  %f  gclf[2] %f \n", gclf[0], gclf[1],  gclf[2]);
      
              Int_t TPCside; 
             if(gclf[2]>0.) TPCside=0; // A side 
             else TPCside=1;
 
-             Double_t vTPCClust[3] = { gclf[0], gclf[1],  TPCside };
+            //
+             //Double_t vTPCClust1[3] = { gclf[0], gclf[1],  TPCside };
+             //fTPCClustHisto1->Fill(vTPCClust1);
+
+             //  
+            Double_t phi = TMath::ATan2(gclf[1],gclf[0]);
+            if(phi < 0) phi += 2.*TMath::Pi();
+           
+             Double_t vTPCClust[3] = { irow, phi, TPCside };
              fTPCClustHisto->Fill(vTPCClust);
-         }
-       }
+        }
+      }
     }
 
     if(GetAnalysisMode() == 0) ProcessTPC(stack,track,esdEvent);
@@ -494,13 +535,13 @@ void AliPerformanceTPC::Analyse() {
   fTPCClustHisto->GetAxis(2)->SetRange(1,1); // A-side
   h2D = fTPCClustHisto->Projection(1,0);
   h2D->SetName("h_clust_A_side");
-  h2D->SetTitle("gclX:gclY - A_side");
+  h2D->SetTitle("padRow:phi - A_side");
   aFolderObj->Add(h2D);
 
   fTPCClustHisto->GetAxis(2)->SetRange(2,2); // C-side
   h2D = fTPCClustHisto->Projection(1,0);
   h2D->SetName("h_clust_C_side");
-  h2D->SetTitle("gclX:gclY - C_side");
+  h2D->SetTitle("padRow:phi - C_side");
   aFolderObj->Add(h2D);
 
   //
@@ -632,6 +673,8 @@ Long64_t AliPerformanceTPC::Merge(TCollection* const list)
     AliPerformanceTPC* entry = dynamic_cast<AliPerformanceTPC*>(obj);
     if (entry == 0) continue; 
 
+    //fTPCClustHisto1->Add(entry->fTPCClustHisto1);
+    //fTPCClustHisto2->Add(entry->fTPCClustHisto2);
     fTPCClustHisto->Add(entry->fTPCClustHisto);
     fTPCEventHisto->Add(entry->fTPCEventHisto);
     fTPCTrackHisto->Add(entry->fTPCTrackHisto);
index 61d02f0..b68ccd2 100644 (file)
@@ -66,6 +66,8 @@ public :
 
   // getters
   //
+  //THnSparse *GetTPCClustHisto1() const  { return fTPCClustHisto1; }
+  //THnSparse *GetTPCClustHisto2() const  { return fTPCClustHisto2; }
   THnSparse *GetTPCClustHisto() const  { return fTPCClustHisto; }
   THnSparse *GetTPCEventHisto() const  { return fTPCEventHisto; }
   THnSparse *GetTPCTrackHisto() const  { return fTPCTrackHisto; }
@@ -74,9 +76,11 @@ public :
 private:
 
   // TPC histogram
-  THnSparseF *fTPCClustHisto; //-> gclX:gclY:TPCSide
-  THnSparseF *fTPCEventHisto; //-> Xv:Yv:Zv:mult:multP:multN:vertStatus
-  THnSparseF *fTPCTrackHisto; //-> nClust:chi2PerClust:nClust/nFindableClust:DCAr:DCAz:eta:phi:pt:charge
+  //THnSparseF *fTPCClustHisto1; //-> gclX:gclY:TPCSide
+  //THnSparseF *fTPCClustHisto2; //-> padRow:phi:TPCSide
+  THnSparseF *fTPCClustHisto; //-> padRow:phi:TPCSide
+  THnSparseF *fTPCEventHisto;  //-> Xv:Yv:Zv:mult:multP:multN:vertStatus
+  THnSparseF *fTPCTrackHisto;  //-> nClust:chi2PerClust:nClust/nFindableClust:DCAr:DCAz:eta:phi:pt:charge
 
   // Global cuts objects
   AliRecInfoCuts* fCutsRC;  // selection cuts for reconstructed tracks
@@ -89,7 +93,7 @@ private:
   AliPerformanceTPC(const AliPerformanceTPC&); // not implemented
   AliPerformanceTPC& operator=(const AliPerformanceTPC&); // not implemented
 
-  ClassDef(AliPerformanceTPC,3);
+  ClassDef(AliPerformanceTPC,4);
 };
 
 #endif
index 790c35e..3722830 100644 (file)
@@ -71,7 +71,7 @@ AliPerformanceTask* AddTaskPerformanceTPCITSQA(Bool_t bUseMCInfo=kFALSE, Bool_t
   mgr->AddTask(task);
 
   //
-  // Create TPC-ESD track reconstruction cuts
+  // Create TPC-ITS ESD track reconstruction cuts
   // MB tracks
   //
   AliRecInfoCuts *pRecInfoCutsTPC = new AliRecInfoCuts(); 
@@ -84,6 +84,7 @@ AliPerformanceTask* AddTaskPerformanceTPCITSQA(Bool_t bUseMCInfo=kFALSE, Bool_t
     pRecInfoCutsTPC->SetMinNClustersTPC(70);
     pRecInfoCutsTPC->SetMaxChi2PerClusterTPC(1000000.);
     pRecInfoCutsTPC->SetDCAToVertex2D(kFALSE);
+    pRecInfoCutsTPC->SetMinNClustersITS(2);
 
     pRecInfoCutsTPC->SetHistogramsOn(kFALSE); 
   }