PWGUD/dNdPt -> PWGLF/SPECTRA/ChargedHadrons/dNdPt
authorrpreghen <rpreghen@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 15 Feb 2012 08:14:07 +0000 (08:14 +0000)
committerrpreghen <rpreghen@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 15 Feb 2012 08:14:07 +0000 (08:14 +0000)
68 files changed:
PWGCF/EBYE/Fluctuations/AliEbyEFluctuationAnalysisTask.cxx
PWGCF/EBYE/Fluctuations/AliEbyEFluctuationAnalysisTask.h
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AliPtResolAnalysis.cxx [moved from PWGUD/dNdPt/AliPtResolAnalysis.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AliPtResolAnalysis.h [moved from PWGUD/dNdPt/AliPtResolAnalysis.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AliPtResolAnalysisPbPb.cxx [moved from PWGUD/dNdPt/AliPtResolAnalysisPbPb.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AliPtResolAnalysisPbPb.h [moved from PWGUD/dNdPt/AliPtResolAnalysisPbPb.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPt.cxx [moved from PWGUD/dNdPt/AlidNdPt.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPt.h [moved from PWGUD/dNdPt/AlidNdPt.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtAcceptanceCuts.cxx [moved from PWGUD/dNdPt/AlidNdPtAcceptanceCuts.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtAcceptanceCuts.h [moved from PWGUD/dNdPt/AlidNdPtAcceptanceCuts.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtAnalysis.cxx [moved from PWGUD/dNdPt/AlidNdPtAnalysis.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtAnalysis.h [moved from PWGUD/dNdPt/AlidNdPtAnalysis.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtAnalysisPbPb.cxx [moved from PWGUD/dNdPt/AlidNdPtAnalysisPbPb.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtAnalysisPbPb.h [moved from PWGUD/dNdPt/AlidNdPtAnalysisPbPb.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtBackgroundCuts.cxx [moved from PWGUD/dNdPt/AlidNdPtBackgroundCuts.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtBackgroundCuts.h [moved from PWGUD/dNdPt/AlidNdPtBackgroundCuts.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtCorrection.cxx [moved from PWGUD/dNdPt/AlidNdPtCorrection.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtCorrection.h [moved from PWGUD/dNdPt/AlidNdPtCorrection.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtCutAnalysis.cxx [moved from PWGUD/dNdPt/AlidNdPtCutAnalysis.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtCutAnalysis.h [moved from PWGUD/dNdPt/AlidNdPtCutAnalysis.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtCutAnalysisPbPb.cxx [moved from PWGUD/dNdPt/AlidNdPtCutAnalysisPbPb.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtCutAnalysisPbPb.h [moved from PWGUD/dNdPt/AlidNdPtCutAnalysisPbPb.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtEfficiency.cxx [moved from PWGUD/dNdPt/AlidNdPtEfficiency.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtEfficiency.h [moved from PWGUD/dNdPt/AlidNdPtEfficiency.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtEventCuts.cxx [moved from PWGUD/dNdPt/AlidNdPtEventCuts.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtEventCuts.h [moved from PWGUD/dNdPt/AlidNdPtEventCuts.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtHelper.cxx [moved from PWGUD/dNdPt/AlidNdPtHelper.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtHelper.h [moved from PWGUD/dNdPt/AlidNdPtHelper.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtTask.cxx [moved from PWGUD/dNdPt/AlidNdPtTask.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtTask.h [moved from PWGUD/dNdPt/AlidNdPtTask.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtTrackDumpTask.cxx [moved from PWGUD/dNdPt/AlidNdPtTrackDumpTask.cxx with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtTrackDumpTask.h [moved from PWGUD/dNdPt/AlidNdPtTrackDumpTask.h with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/AddTask_dNdPtCutAnalysisPbPb.C [moved from PWGUD/dNdPt/macros/AddTask_dNdPtCutAnalysisPbPb.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/AddTask_mkoehler_dNdPtPbPb.C [moved from PWGUD/dNdPt/macros/AddTask_mkoehler_dNdPtPbPb.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/ApplyCorrections.C [moved from PWGUD/dNdPt/macros/ApplyCorrections.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/ApplyCorrections_PbPb.C [moved from PWGUD/dNdPt/macros/ApplyCorrections_PbPb.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/ApplyCorrections_pp.C [moved from PWGUD/dNdPt/macros/ApplyCorrections_pp.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/CreatedNdPtTrackCuts.C [moved from PWGUD/dNdPt/macros/CreatedNdPtTrackCuts.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/GenerateCorrMatr.C [moved from PWGUD/dNdPt/macros/GenerateCorrMatr.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/GenerateCorrMatr_PbPb.C [moved from PWGUD/dNdPt/macros/GenerateCorrMatr_PbPb.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/GenerateCorrMatr_pp.C [moved from PWGUD/dNdPt/macros/GenerateCorrMatr_pp.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/LoadMyLibs.C [moved from PWGUD/dNdPt/macros/LoadMyLibs.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/ProofEnableAliRootGSI.C [moved from PWGUD/dNdPt/macros/ProofEnableAliRootGSI.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/defineVariables.C [moved from PWGUD/dNdPt/macros/plots/defineVariables.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/divide.C [moved from PWGUD/dNdPt/macros/plots/divide.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/logoPrelim.C [moved from PWGUD/dNdPt/macros/plots/logoPrelim.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/makeCompInel.C [moved from PWGUD/dNdPt/macros/plots/makeCompInel.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/makeCompNSD.C [moved from PWGUD/dNdPt/macros/plots/makeCompNSD.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/makeCompYield.C [moved from PWGUD/dNdPt/macros/plots/makeCompYield.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/makePlotsAlice3.C [moved from PWGUD/dNdPt/macros/plots/makePlotsAlice3.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/readAliceInel.C [moved from PWGUD/dNdPt/macros/plots/readAliceInel.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/readAliceNsd.C [moved from PWGUD/dNdPt/macros/plots/readAliceNsd.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/readAliceYield.C [moved from PWGUD/dNdPt/macros/plots/readAliceYield.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/readAtlas.C [moved from PWGUD/dNdPt/macros/plots/readAtlas.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/readCms.C [moved from PWGUD/dNdPt/macros/plots/readCms.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/readPhojet.C [moved from PWGUD/dNdPt/macros/plots/readPhojet.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/readPythia109.C [moved from PWGUD/dNdPt/macros/plots/readPythia109.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/readPythia306.C [moved from PWGUD/dNdPt/macros/plots/readPythia306.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/readPythia320.C [moved from PWGUD/dNdPt/macros/plots/readPythia320.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/readUa1.C [moved from PWGUD/dNdPt/macros/plots/readUa1.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/runMacro.C [moved from PWGUD/dNdPt/macros/plots/runMacro.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/setAttrib.C [moved from PWGUD/dNdPt/macros/plots/setAttrib.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/settings.C [moved from PWGUD/dNdPt/macros/plots/settings.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/plots/storeOutput.C [moved from PWGUD/dNdPt/macros/plots/storeOutput.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/run.C [moved from PWGUD/dNdPt/macros/run.C with 100% similarity]
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/rundNdPt.C [moved from PWGUD/dNdPt/macros/rundNdPt.C with 100% similarity]
PWGUD/CMakelibPWGUDdep.pkg [deleted file]
PWGUD/PWGUDdepLinkDef.h [deleted file]

index 0fb8eae..b74769d 100644 (file)
 #include "AliESDtrackCuts.h"
 #include "AliCentrality.h"
 
+#include "AliESDtrack.h"
+#include "AliESDpid.h"
+
 #include "AliEbyEFluctuationAnalysisTask.h"
 
 // Event by event charge fluctuation analysis
 // Authors: Satyajit Jena and Panos Cristakoglou
+//          (PID by R+)
 // 
 
 ClassImp(AliEbyEFluctuationAnalysisTask)
@@ -32,9 +36,13 @@ AliEbyEFluctuationAnalysisTask::AliEbyEFluctuationAnalysisTask(const char *name)
     fESDtrackCuts(0),
     fAnalysisType("ESD"), fAnalysisMode("TPC"),
     fCentralityEstimator("V0M"), fCentralityBins20(kFALSE),
-    fVxMax(3.), fVyMax(3.), fVzMax(10.) {
+  fVxMax(3.), fVyMax(3.), fVzMax(10.),
+  fESDpid(NULL) {
   // Constructor
   
+  fOutputList = new TList();
+  fOutputList->SetOwner();
+
   for(Int_t iBin = 1; iBin <= nCentralityBins; iBin++) {
     fHistNMult[iBin-1] = NULL;
     fHistNPlusNMinus[iBin-1] = NULL;
@@ -42,10 +50,10 @@ AliEbyEFluctuationAnalysisTask::AliEbyEFluctuationAnalysisTask(const char *name)
 
   // Define input and output slots here
   // Input slot #0 works with a TChain
-  DefineInput(0, TChain::Class());
+  //  DefineInput(0, TChain::Class());
   // Output slot #0 id reserved by the base class for AOD
   // Output slot #1 writes into a TH1 container
-  DefineOutput(1, TList::Class());
+  DefineOutput(2, TList::Class());
 }
 
 //________________________________________________________________________
@@ -53,8 +61,7 @@ void AliEbyEFluctuationAnalysisTask::UserCreateOutputObjects() {
   // Create histograms
   // Called once
 
-  fOutputList = new TList();
-  fOutputList->SetOwner();
+  printf("in UserCreateOutputObjects\n");
 
   //Event stats.
   TString gCutName[4] = {"Total","Offline trigger",
@@ -101,6 +108,8 @@ void AliEbyEFluctuationAnalysisTask::UserCreateOutputObjects() {
                                  3000,0.5,3000.5,3000,0.5,3000.5);  
     fOutputList->Add(fHistNPlusNMinusMC);
   }//MC analysis
+
+  PostData(2, fOutputList);
 }
 
 //________________________________________________________________________
@@ -170,6 +179,8 @@ void AliEbyEFluctuationAnalysisTask::UserExec(Option_t *) {
                        Short_t gCharge = track->Charge();
                        if(gCharge > 0) nPlus += 1;
                        if(gCharge < 0) nMinus += 1;
+
+                       
                      }//track loop
                    }//TObjArray valid object
                    //if((nCentrality >= 1)&&(nCentrality <= 20)) {
@@ -226,7 +237,7 @@ void AliEbyEFluctuationAnalysisTask::UserExec(Option_t *) {
   }//MC analysis level
 
 
-  PostData(1, fOutputList);
+  PostData(2, fOutputList);
 }      
 
 //________________________________________________________________________
@@ -240,3 +251,204 @@ void AliEbyEFluctuationAnalysisTask::Terminate(Option_t *) {
     return;
   }
 }
+
+//___________________________________________________________
+
+Bool_t
+AliEbyEFluctuationAnalysisTask::HasTPCPID(AliESDtrack *track) const
+{
+  /*
+   * has TPC PID
+   */
+
+  /* check PID signal */
+  if (track->GetTPCsignal() <= 0. ||
+      track->GetTPCsignalN() == 0 ||
+      !track->GetInnerParam()) return kFALSE;
+  return kTRUE;
+}
+  
+//___________________________________________________________
+
+Bool_t
+AliEbyEFluctuationAnalysisTask::HasTOFPID(AliESDtrack *track) const
+{
+  /*
+   * has TOF PID
+   */
+
+  /* check TOF matched track */
+  if (!(track->GetStatus() & AliESDtrack::kTOFout)||
+      !(track->GetStatus() & AliESDtrack::kTIME)) return kFALSE;
+  /* check integrated length */
+  if (track->GetIntegratedLength() < 350.) return kFALSE;
+  return kTRUE;
+}
+
+//___________________________________________________________
+
+Double_t
+AliEbyEFluctuationAnalysisTask::MakeTPCPID(AliESDtrack *track, Double_t *nSigma) const
+{
+  /*
+   * make TPC PID
+   * returns measured dEdx if PID available, otherwise -1.
+   * fills nSigma array with TPC nsigmas for e, mu, pi, K, p
+   */
+  
+  /* check TPC PID */
+  if (!HasTPCPID(track)) return -1.;
+
+  /* get TPC info */
+  Double_t ptpc = track->GetInnerParam() ? track->GetInnerParam()->P() : 0.;
+  Double_t dEdx = track->GetTPCsignal();
+  Double_t dEdxN = track->GetTPCsignalN();
+
+  /* loop over particles */
+  for (Int_t ipart = 0; ipart < AliPID::kSPECIES; ipart++) {
+    Double_t bethe = fESDpid->GetTPCResponse().GetExpectedSignal(ptpc, (AliPID::EParticleType)ipart);
+    Double_t diff = dEdx - bethe;
+    Double_t sigma = fESDpid->GetTPCResponse().GetExpectedSigma(ptpc, dEdxN, (AliPID::EParticleType)ipart);
+    nSigma[ipart] = diff / sigma;
+  }
+
+  return dEdx;
+}
+
+//___________________________________________________________
+
+Double_t
+AliEbyEFluctuationAnalysisTask::MakeTOFPID(AliESDtrack *track, Double_t *nSigma) const
+{
+  /*
+   * make TOF PID
+   * returns measured beta if PID available, otherwise -1.
+   * fills nSigma array with TOF nsigmas for e, mu, pi, K, p
+   */
+  
+  /* check TOF PID */
+  if (!HasTOFPID(track)) return -1.;
+
+  /* get TOF info */
+  Double_t p = track->P();
+  Double_t time = track->GetTOFsignal() - fESDpid->GetTOFResponse().GetStartTime(p);
+  Double_t length = track->GetIntegratedLength();
+  Double_t timei[5];
+  track->GetIntegratedTimes(timei);
+
+  /* loop over particles */
+  for (Int_t ipart = 0; ipart < AliPID::kSPECIES; ipart++) {
+    Double_t timez = time - timei[ipart];
+    Double_t sigma = fESDpid->GetTOFResponse().GetExpectedSigma(p, timei[ipart], AliPID::ParticleMass(ipart));
+    nSigma[ipart] = timez / sigma;
+  }
+
+  return length / (time * 2.99792457999999984e-02);
+}
+
+//___________________________________________________________
+
+void
+AliEbyEFluctuationAnalysisTask::MakePID(AliESDtrack *track, Bool_t *pidFlag) const
+{
+  /*
+   * make PID
+   * fills PID QA plots
+   * fills pidFlag array with PID flags for e, mu, pi, K, p
+   */
+
+  /* cut definitions
+     (better put them as static variables so they can be changed from outside) */
+  Double_t fgTPCPIDmomcut[AliPID::kSPECIES] = {0., 0., 0.5, 0.5, 0.7};
+  Double_t fgTPCPIDsigmacut[AliPID::kSPECIES] = {0., 0., 2., 2., 2.};
+  Double_t fgTPCPIDcompcut[AliPID::kSPECIES] = {0., 0., 3., 3., 3.};
+  Double_t fgTOFPIDmomcut[AliPID::kSPECIES] = {0., 0., 1.5, 1.5, 2.0};
+  Double_t fgTOFPIDsigmacut[AliPID::kSPECIES] = {0., 0., 2., 2., 2.};
+
+  /* make pid and check if available */
+  Double_t p = track->P();
+  Double_t pt = track->Pt();
+  Double_t ptpc = track->GetInnerParam() ? track->GetInnerParam()->P() : 0.;
+  Double_t nsigmaTPC[AliPID::kSPECIES];
+  Double_t nsigmaTOF[AliPID::kSPECIES];
+  Double_t dEdx = MakeTPCPID(track, nsigmaTPC);
+  Double_t beta = MakeTOFPID(track, nsigmaTPC);
+  Bool_t hasTPCPID = dEdx > 0.;
+  Bool_t hasTOFPID = beta > 0.;
+  
+  /* fill qa histos */
+  if (hasTPCPID)
+    fHistoTPCdEdx->Fill(ptpc, dEdx);
+  if (hasTOFPID)
+    fHistoTOFbeta->Fill(p, beta);
+  
+  /* loop over species */
+  for (Int_t ipart = 0; ipart < AliPID::kSPECIES; ipart++) {
+    
+    /* reset PID flag */
+    pidFlag[ipart] = kFALSE;
+    
+    /* fill qa histos */
+    if (hasTPCPID)
+      fHistoNSigmaTPC[ipart]->Fill(pt, nsigmaTPC[ipart]);
+    if (hasTOFPID)
+      fHistoNSigmaTOF[ipart]->Fill(pt, nsigmaTOF[ipart]);
+    
+    /* combined PID cuts */
+    if (hasTPCPID && hasTOFPID) {
+      if (pt < fgTOFPIDmomcut[ipart] &&
+         TMath::Abs(nsigmaTOF[ipart]) < fgTOFPIDsigmacut[ipart] &&
+         TMath::Abs(nsigmaTPC[ipart]) < fgTPCPIDcompcut[ipart]) 
+       pidFlag[ipart] = kTRUE;
+      
+    }
+    /* TPC-only PID cuts */
+    else if (hasTPCPID && !hasTOFPID) {
+      if (pt < fgTPCPIDmomcut[ipart] &&
+         TMath::Abs(nsigmaTPC[ipart]) < fgTPCPIDsigmacut[ipart]) 
+       pidFlag[ipart] = kTRUE;
+    }
+    /* TOF-only PID cuts */
+    else if (!hasTPCPID && hasTOFPID) {
+      if (pt < fgTOFPIDmomcut[ipart] &&
+         TMath::Abs(nsigmaTOF[ipart]) < fgTOFPIDsigmacut[ipart]) 
+       pidFlag[ipart] = kTRUE;
+    }
+    
+  } /* end of loop over species */
+
+}
+
+//___________________________________________________________
+
+void
+AliEbyEFluctuationAnalysisTask::InitPID(AliESDEvent *event)
+{
+  /*
+   * init PID
+   */
+
+  /* create ESDpid object if not there yet */
+  if (!fESDpid) {
+    /* instance object */
+    Bool_t mcFlag = kFALSE; /*** WARNING: check whether is MC ***/
+    fESDpid = new AliESDpid(mcFlag);
+    /* set OADB path */
+    fESDpid->SetOADBPath("$ALICE_ROOT/OADB");
+  }
+
+  /* init ESD PID */
+  Int_t recoPass = 2; /*** WARNING: need to set the recoPass somehow better ***/
+  fESDpid->InitialiseEvent(event, recoPass); /* warning: this apparently sets TOF time        
+                                             * resolution to some hardcoded value,     
+                                             * therefore we have to set correct   
+                                             * resolution value after this call */
+
+  /* set TOF resolution */
+  Double_t tofReso = 85.; /* ps */ /*** WARNING: need to set tofReso somehow better ***/
+  fESDpid->GetTOFResponse().SetTimeResolution(tofReso);
+  
+}
+
+
+
index f210283..289b435 100644 (file)
@@ -3,14 +3,17 @@
 \r
 // Event by event charge fluctuation analysis\r
 // Authors: Satyajit Jena and Panos Cristakoglou\r
+//          (PID by R+)\r
 \r
 class TH1F;\r
 class TH2F;\r
 class TString;\r
 class AliESDEvent;\r
 class AliESDtrackCuts;\r
+class AliESDtrack;\r
 \r
 #include "AliAnalysisTaskSE.h"\r
+#include "AliESDpid.h"\r
 \r
 const Int_t nCentralityBins = 20;\r
 \r
@@ -48,6 +51,7 @@ class AliEbyEFluctuationAnalysisTask : public AliAnalysisTaskSE {
     fAnalysisMode = analysisMode;}\r
 \r
  private:\r
+\r
   AliESDEvent *fESD;    //! ESD object\r
   TList       *fOutputList; //! Output list\r
   TH1F        *fHistEventStats; //!event stats\r
@@ -72,6 +76,24 @@ class AliEbyEFluctuationAnalysisTask : public AliAnalysisTaskSE {
   AliEbyEFluctuationAnalysisTask(const AliEbyEFluctuationAnalysisTask&); // not implemented\r
   AliEbyEFluctuationAnalysisTask& operator=(const AliEbyEFluctuationAnalysisTask&); // not implemented\r
   \r
+  /*** PID functions ***/\r
+  Bool_t HasTPCPID(AliESDtrack *track) const; // has TPC PID\r
+  Bool_t HasTOFPID(AliESDtrack *track) const; // has TOF PID\r
+  Double_t MakeTPCPID(AliESDtrack *track, Double_t *nSigma) const; // make TPC PID\r
+  Double_t MakeTOFPID(AliESDtrack *track, Double_t *nSigma) const; // make TOF PID\r
+  void MakePID(AliESDtrack *track, Bool_t *pidFlag) const; // make PID\r
+  void InitPID(AliESDEvent *event);// init PID\r
+\r
+  /*** PID objects ***/\r
+  AliESDpid *fESDpid; // ESD pid\r
+\r
+  /*** PID histos ***/\r
+  TH2F *fHistoTPCdEdx; // TPC dEdx\r
+  TH2F *fHistoTOFbeta; // TOF beta\r
+  TH2F *fHistoNSigmaTPC[AliPID::kSPECIES]; // nsigma TPC\r
+  TH2F *fHistoNSigmaTOF[AliPID::kSPECIES]; // nsigma TOF\r
+    \r
+\r
   ClassDef(AliEbyEFluctuationAnalysisTask, 1); // example of analysis\r
 };\r
 \r
diff --git a/PWGUD/CMakelibPWGUDdep.pkg b/PWGUD/CMakelibPWGUDdep.pkg
deleted file mode 100644 (file)
index 781cf97..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-# -*- mode: CMake -*- 
-#--------------------------------------------------------------------------------#
-# Package File for PWGUDdep                                                       #
-# Author : Johny Jose (johny.jose@cern.ch)                                       #
-# Variables Defined :                                                            #
-#                                                                                #
-# SRCS - C++ source files                                                        #
-# HDRS - C++ header files                                                        #
-# DHDR - ROOT Dictionary Linkdef header file                                     #
-# CSRCS - C source files                                                         #
-# CHDRS - C header files                                                         #
-# EINCLUDE - Include directories                                                 #
-# EDEFINE - Compiler definitions                                                 #
-# ELIBS - Extra libraries to link                                                #
-# ELIBSDIR - Extra library directories                                           #
-# PACKFFLAGS - Fortran compiler flags for package                                #
-# PACKCXXFLAGS - C++ compiler flags for package                                  #
-# PACKCFLAGS - C compiler flags for package                                      #
-# PACKSOFLAGS - Shared library linking flags                                     #
-# PACKLDFLAGS - Module linker flags                                              #
-# PACKBLIBS - Libraries to link (Executables only)                               #
-# EXPORT - Header files to be exported                                           #
-# CINTHDRS - Dictionary header files                                             #
-# CINTAUTOLINK - Set automatic dictionary generation                             #
-# ARLIBS - Archive Libraries and objects for linking (Executables only)          #
-# SHLIBS - Shared Libraries and objects for linking (Executables only)           #
-#--------------------------------------------------------------------------------#
-
-set ( SRCS  
-    dNdPt/AlidNdPtHelper.cxx 
-    dNdPt/AlidNdPtAnalysis.cxx 
-    dNdPt/AlidNdPtAnalysisPbPb.cxx 
-    dNdPt/AlidNdPtCorrection.cxx 
-    dNdPt/AlidNdPtAcceptanceCuts.cxx 
-    dNdPt/AlidNdPtEventCuts.cxx 
-    dNdPt/AlidNdPt.cxx 
-    dNdPt/AlidNdPtCutAnalysis.cxx 
-    dNdPt/AlidNdPtTask.cxx 
-    dNdPt/AlidNdPtBackgroundCuts.cxx 
-    dNdPt/AlidNdPtCutAnalysisPbPb.cxx 
-    dNdPt/AlidNdPtEfficiency.cxx 
-    dNdPt/AliPtResolAnalysis.cxx 
-    dNdPt/AliPtResolAnalysisPbPb.cxx 
-    dNdPt/AlidNdPtTrackDumpTask.cxx
-    ) 
-
-string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" )
-
-set ( DHDR  PWGUDdepLinkDef.h)
-
-set ( EINCLUDE  PWGUD/base TPC STEER/STEER STEER/ESD STEER/STEERBase)
diff --git a/PWGUD/PWGUDdepLinkDef.h b/PWGUD/PWGUDdepLinkDef.h
deleted file mode 100644 (file)
index b352873..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifdef __CINT__
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice                               */
-
-/* $Id$ */
-
-#pragma link off all globals;
-#pragma link off all classes;
-#pragma link off all functions;
-
-#pragma link C++ class AlidNdPtTask+;
-#pragma link C++ class AlidNdPtHelper+;
-#pragma link C++ class AlidNdPtAnalysisPbPb+;
-#pragma link C++ class AlidNdPtAnalysis+;
-#pragma link C++ class AlidNdPtCorrection+;
-
-#pragma link C++ class AlidNdPtAcceptanceCuts+;
-#pragma link C++ class AlidNdPtEventCuts+;
-#pragma link C++ class AlidNdPt+;
-#pragma link C++ class AlidNdPtCutAnalysis+;
-#pragma link C++ class AlidNdPtCutAnalysisPbPb+;
-#pragma link C++ class AlidNdPtTrackDumpTask+;
-
-#pragma link C++ class AlidNdPtBackgroundCuts+;
-#pragma link C++ class AlidNdPtEfficiency+;
-#pragma link C++ class AliPtResolAnalysis+;
-#pragma link C++ class AliPtResolAnalysisPbPb+;
-
-#endif