]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/qaAnalysis/AliTRDqaEnergyDeposit.cxx
Added macros for production using Geant4. 3 different physics lists can be used:...
[u/mrichter/AliRoot.git] / TRD / qaAnalysis / AliTRDqaEnergyDeposit.cxx
index aab57496d87658b2e6f18215d5f581f5b5b54fe2..8212e4d6cd8f715d1c18c17b7297e009a627e564 100644 (file)
@@ -1,3 +1,4 @@
+
 /**************************************************************************
  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  *                                                                        *
 #include "TH1D.h"
 #include "TH2D.h"
 #include "TFile.h"
-#include "TTree.h"
 #include "TChain.h"
 
 #include "AliESDEvent.h"
 #include "AliESDtrack.h"
-#include "AliKalmanTrack.h"
 
 //______________________________________________________________________________
 
@@ -46,19 +45,24 @@ AliTRDqaEnergyDeposit::AliTRDqaEnergyDeposit()
     fESD(0),
     fOutputContainer(0)
 {
-  // Dummy default constructor
+  //
+  // Default constructor
+  //
+
 }
+
 //______________________________________________________________________________
 
-AliTRDqaEnergyDeposit:: AliTRDqaEnergyDeposit(AliTRDqaEnergyDeposit& /*trd*/)
+AliTRDqaEnergyDeposit:: AliTRDqaEnergyDeposit(const AliTRDqaEnergyDeposit & /*trd*/)
   : AliAnalysisTask("",""),  
     fChain(0),
     fESD(0),
     fOutputContainer(0)
 {
-  // Dummy copy constructor
-  
-  //return *this;
+  //
+  // Copy constructor
+  //
+
 }
 
 //______________________________________________________________________________
@@ -68,11 +72,15 @@ AliTRDqaEnergyDeposit::AliTRDqaEnergyDeposit(const char *name)
     fESD(0),
     fOutputContainer(0)
 {
+  //
   // Constructor.
+  //
+
   // Input slot #0 works with an Ntuple
   DefineInput(0, TChain::Class());
   // Output slot #0 writes into a TH1 container
   DefineOutput(0,  TObjArray::Class()) ; 
+
 }
 
 //______________________________________________________________________________
@@ -120,9 +128,16 @@ void AliTRDqaEnergyDeposit::CreateOutputObjects()
 
     for(Int_t j=0; j<AliPID::kSPECIES; j++) {
       Int_t idx = AliPID::kSPECIES*i+j;
+
+      //
       fSignalPtType[idx] = 
        new TH2D(Form("ptSig%s%d", charge[i], j), title, knbinsx, scalex, knbinsy, scaley);
       fOutputContainer->AddAt(fSignalPtType[idx], c++);
+
+      //
+      fSignalPtPure[idx] = 
+       new TH2D(Form("ptSigPure%s%d", charge[i], j), title, knbinsx, scalex, knbinsy, scaley);
+      fOutputContainer->AddAt(fSignalPtPure[idx], c++);
       
       fProb[idx] = new TH1D(Form("prob%s%d", charge[i], j), ";LQ", 100, 0, 1);
       fOutputContainer->AddAt(fProb[idx], c++);
@@ -131,11 +146,14 @@ void AliTRDqaEnergyDeposit::CreateOutputObjects()
 
   printf("n hist = %d\n", c);
 }
+
 //______________________________________________________________________________
 void AliTRDqaEnergyDeposit::Exec(Option_t *) 
 {
+  //
   // Process one event
-  
+  //
+
   //  Long64_t entry = fChain->GetReadEntry() ;
   
   // Processing of one event 
@@ -169,7 +187,7 @@ void AliTRDqaEnergyDeposit::Exec(Option_t *)
     UInt_t status = track->GetStatus();
     if (!(status & AliESDtrack::kTRDrefit)) continue;
     if (!(status & AliESDtrack::kTRDpid)) continue;
-    if (track->GetTRDpidQuality() < 6) continue;
+    if (track->GetTRDntrackletsPID() < 6) continue;
 
     // standard selection
     
@@ -177,27 +195,39 @@ void AliTRDqaEnergyDeposit::Exec(Option_t *)
     Double_t pt = paramOut->Pt();
 
     Double_t signal = 0;
-    for(Int_t i=0; i<6; i++)
-      signal += track->GetTRDsignals(i, -1);
+    for(Int_t k=0; k<6; ++k)
+      signal += track->GetTRDslice(k, -1);
     signal /= 6;
 
     fSignalPtSum[idx]->Fill(pt, signal);
     
-    for(Int_t i=0; i<AliPID::kSPECIES; i++) {
+    for(Int_t k=0; k<AliPID::kSPECIES; ++k) {
       
-      Double_t lq = track->GetTRDpid(i);
-      fProb[AliPID::kSPECIES*idx+i]->Fill(lq);
-      fSignalPtType[AliPID::kSPECIES*idx+i]->Fill(pt, signal, lq);
+      Double_t lq = track->GetTRDpid(k);
+      fProb[AliPID::kSPECIES*idx+k]->Fill(lq);
+      if (lq > 0.8) fSignalPtType[AliPID::kSPECIES*idx+k]->Fill(pt, signal);
     }
   }
 
   PostData(0, fOutputContainer);
 }
 
+//______________________________________________________________________________
+void AliTRDqaEnergyDeposit::FillElectrons() const 
+{
+  //
+  // Fill the electrons
+  //  
+
+}
+
 //______________________________________________________________________________
 void AliTRDqaEnergyDeposit::Terminate(Option_t *)
 {
-  // retrieve histograms
+  //
+  // Retrieve histograms
+  //
+
   fOutputContainer = (TObjArray*)GetOutputData(0);
   
   // post processing