Revert wrong commit
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 20 Jun 2013 21:18:50 +0000 (21:18 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 20 Jun 2013 21:18:50 +0000 (21:18 +0000)
17 files changed:
ANALYSIS/AliAnalysisTaskESDfilter.cxx
OADB/COMMON/PID/data/EMCALPIDParams.root
OADB/COMMON/PID/data/TPCPIDResponse.root
OADB/COMMON/PID/data/TPCetaMaps.root
STEER/AOD/AliAODEvent.h
STEER/AOD/AliAODHeader.cxx
STEER/AOD/AliAODHeader.h
STEER/AOD/AliAODPid.cxx
STEER/AOD/AliAODPid.h
STEER/AOD/AliAODTrack.h
STEER/ESD/AliESDEvent.h
STEER/ESD/AliESDtrack.h
STEER/STEERBase/AliPIDResponse.cxx
STEER/STEERBase/AliTPCPIDResponse.cxx
STEER/STEERBase/AliTPCPIDResponse.h
STEER/STEERBase/AliVEvent.h
STEER/STEERBase/AliVTrack.h

index 20515a1..803336c 100644 (file)
@@ -353,7 +353,6 @@ AliAODHeader* AliAnalysisTaskESDfilter::ConvertHeader(const AliESDEvent& esd)
   
   header->SetRunNumber(esd.GetRunNumber());
   header->SetOfflineTrigger(fInputHandler->IsEventSelected()); // propagate the decision of the physics selection
-  header->SetNumberOfESDTracks(esd.GetNumberOfTracks());
 
   TTree* tree = fInputHandler->GetTree();
   if (tree) {
@@ -2403,14 +2402,12 @@ void AliAnalysisTaskESDfilter::SetDetectorRawSignals(AliAODPid *aodpid, AliESDtr
  return;
  }
  // TPC momentum
- aodpid->SetTPCmomentum(track->GetTPCmomentum());
- aodpid->SetTPCTgl(track->GetTPCTgl());
-//  const AliExternalTrackParam *in=track->GetInnerParam();
-//  if (in) {
-//    aodpid->SetTPCmomentum(in->GetP());
-//  }else{
-//    aodpid->SetTPCmomentum(-1.);
-//  }
+ const AliExternalTrackParam *in=track->GetInnerParam();
+ if (in) {
+   aodpid->SetTPCmomentum(in->GetP());
+ }else{
+   aodpid->SetTPCmomentum(-1.);
+ }
 
 
  aodpid->SetITSsignal(track->GetITSsignal());
index ca095a7..47f8cd0 100644 (file)
Binary files a/OADB/COMMON/PID/data/EMCALPIDParams.root and b/OADB/COMMON/PID/data/EMCALPIDParams.root differ
index 2887788..4fb42cc 100644 (file)
Binary files a/OADB/COMMON/PID/data/TPCPIDResponse.root and b/OADB/COMMON/PID/data/TPCPIDResponse.root differ
index 9187100..6f67937 100644 (file)
Binary files a/OADB/COMMON/PID/data/TPCetaMaps.root and b/OADB/COMMON/PID/data/TPCetaMaps.root differ
index 1a867ab..a59d0e3 100644 (file)
@@ -132,8 +132,7 @@ class AliAODEvent : public AliVEvent {
   Double_t  GetZDCN2Energy()        const { return fHeader ? fHeader->GetZDCN2Energy() : -999.; }
   Double_t  GetZDCP2Energy()        const { return fHeader ? fHeader->GetZDCP2Energy() : -999.; }
   Double_t  GetZDCEMEnergy(Int_t i) const { return fHeader ? fHeader->GetZDCEMEnergy(i) : -999.; }
-  Int_t     GetNumberOfESDTracks()  const { return fHeader ? fHeader->GetNumberOfESDTracks() : 0; }
-  
+
   void SetTOFHeader(const AliTOFHeader * tofEventTime);
   const AliTOFHeader *GetTOFHeader() const {return fTOFHeader;}
   Float_t GetEventTimeSpread() const {if (fTOFHeader) return fTOFHeader->GetT0spread(); else return 0.;}
index ef8bbb3..1c26d0a 100644 (file)
@@ -64,7 +64,6 @@ AliAODHeader::AliAODHeader() :
   fOfflineTrigger(0),
   fESDFileName(""),
   fEventNumberESDFile(-1),
-  fNumberESDTracks(-1),
   fL0TriggerInputs(0),
   fL1TriggerInputs(0),
   fL2TriggerInputs(0),
@@ -128,7 +127,6 @@ AliAODHeader::AliAODHeader(Int_t nRun,
   fOfflineTrigger(0),
   fESDFileName(""),
   fEventNumberESDFile(-1),
-  fNumberESDTracks(-1),
   fL0TriggerInputs(0),
   fL1TriggerInputs(0),
   fL2TriggerInputs(0),
@@ -212,7 +210,6 @@ AliAODHeader::AliAODHeader(Int_t nRun,
   fOfflineTrigger(0),
   fESDFileName(""),
   fEventNumberESDFile(-1),
-  fNumberESDTracks(-1),
   fL0TriggerInputs(0),
   fL1TriggerInputs(0),
   fL2TriggerInputs(0),
@@ -282,7 +279,6 @@ AliAODHeader::AliAODHeader(const AliAODHeader& hdr) :
   fOfflineTrigger(hdr.fOfflineTrigger),
   fESDFileName(hdr.fESDFileName),
   fEventNumberESDFile(hdr.fEventNumberESDFile),
-  fNumberESDTracks(hdr.fNumberESDTracks),
   fL0TriggerInputs(hdr.fL0TriggerInputs),
   fL1TriggerInputs(hdr.fL1TriggerInputs),
   fL2TriggerInputs(hdr.fL2TriggerInputs),
@@ -361,7 +357,6 @@ AliAODHeader& AliAODHeader::operator=(const AliAODHeader& hdr)
     fOfflineTrigger   = hdr.fOfflineTrigger;
     fESDFileName      = hdr.fESDFileName;
     fEventNumberESDFile = hdr.fEventNumberESDFile;
-    fNumberESDTracks    = hdr.fNumberESDTracks;
     fL0TriggerInputs    = hdr.fL0TriggerInputs;
     fL1TriggerInputs    = hdr.fL1TriggerInputs;
     fL2TriggerInputs    = hdr.fL2TriggerInputs;
index 90e58e6..99e4f16 100644 (file)
@@ -61,7 +61,6 @@ class AliAODHeader : public AliVHeader {
 
   Int_t     GetRunNumber()          const { return fRunNumber;}
   Int_t     GetEventNumberESDFile() const { return fEventNumberESDFile;}
-  Int_t     GetNumberOfESDTracks()    const { return fNumberESDTracks;}
   UShort_t  GetBunchCrossNumber()   const { return fBunchCrossNumber; }
   UInt_t    GetOrbitNumber()        const { return fOrbitNumber; }
   UInt_t    GetPeriodNumber()       const { return fPeriodNumber; }
@@ -111,7 +110,6 @@ class AliAODHeader : public AliVHeader {
   
   void SetRunNumber(Int_t nRun)                { fRunNumber = nRun; }
   void SetEventNumberESDFile(Int_t n)          { fEventNumberESDFile=n; }
-  void SetNumberOfESDTracks(Int_t n)           { fNumberESDTracks=n; }
   void SetBunchCrossNumber(UShort_t nBx)       { fBunchCrossNumber = nBx; }
   void SetOrbitNumber(UInt_t nOr)              { fOrbitNumber = nOr; }
   void SetPeriodNumber(UInt_t nPer)            { fPeriodNumber = nPer; }
@@ -241,7 +239,6 @@ class AliAODHeader : public AliVHeader {
   UInt_t      fOfflineTrigger;      // fired offline triggers for this event
   TString     fESDFileName;         // ESD file name to which this event belongs
   Int_t       fEventNumberESDFile;  // Event number in ESD file
-  Int_t       fNumberESDTracks;     // Number of tracks in origingal ESD event
   UInt_t      fL0TriggerInputs;     // L0 Trigger Inputs (mask)
   UInt_t      fL1TriggerInputs;     // L1 Trigger Inputs (mask)
   UShort_t    fL2TriggerInputs;     // L2 Trigger Inputs (mask)
@@ -253,7 +250,7 @@ class AliAODHeader : public AliVHeader {
   Float_t     fT0spread[kT0SpreadSize]; // spread of time distributions: (TOA+T0C/2), T0A, T0C, (T0A-T0C)/2
   TBits   fIRInt2InteractionsMap;  // map of the Int2 events (normally 0TVX) near the event, that's Int2Id-EventId in a -90 to 90 window
   TBits   fIRInt1InteractionsMap;  // map of the Int1 events (normally V0A&V0C) near the event, that's Int1Id-EventId in a -90 to 90 window
-  ClassDef(AliAODHeader, 23);
+  ClassDef(AliAODHeader, 22);
 };
 inline
 void AliAODHeader::SetCentrality(const AliCentrality* cent)      { 
index 0b9d8e1..de53e88 100644 (file)
@@ -35,7 +35,6 @@ AliAODPid::AliAODPid():
     fTPCsignal(0),
     fTPCsignalN(0),
     fTPCmomentum(0),
-    fTPCTgl(0),
     fTRDnSlices(0),
     fTRDntls(0),
     fTRDslices(0x0),
@@ -71,7 +70,6 @@ AliAODPid::AliAODPid(const AliAODPid& pid) :
   fTPCsignal(pid.fTPCsignal),
   fTPCsignalN(pid.fTPCsignalN),
   fTPCmomentum(pid.fTPCmomentum),
-  fTPCTgl(pid.fTPCTgl),
   fTRDnSlices(pid.fTRDnSlices),
   fTRDntls(pid.fTRDntls),
   fTRDslices(0x0),
@@ -109,7 +107,6 @@ AliAODPid& AliAODPid::operator=(const AliAODPid& pid)
     fTPCsignal   = pid.fTPCsignal;
     fTPCsignalN  = pid.fTPCsignalN;
     fTPCmomentum = pid.fTPCmomentum;
-    fTPCTgl      = pid.fTPCTgl;
 
     fTRDsignal = pid.fTRDsignal;
     if(fTRDnSlices != pid.fTRDnSlices) {
index 9bf4195..a167728 100644 (file)
@@ -30,7 +30,6 @@ class AliAODPid : public TObject {
   void      SetTPCsignal(Double_t tpc)                         {fTPCsignal=tpc;}
   void      SetTPCsignalN(UShort_t tpcN)                       {fTPCsignalN=(UChar_t)((tpcN<160)?tpcN:160);}
   void      SetTPCmomentum(Double_t tpcMom)                    {fTPCmomentum=tpcMom;}
-  void      SetTPCTgl(Double_t tpcTgl)                         {fTPCTgl=tpcTgl;}
   void      SetTPCdEdxInfo(AliTPCdEdxInfo * dEdxInfo);
   void      SetTRDslices(Int_t nslices, const Double_t * const trdslices);  
   void      SetTRDsignal(Double_t sig)                         {fTRDsignal = sig;}
@@ -53,7 +52,6 @@ class AliAODPid : public TObject {
   AliTPCdEdxInfo * GetTPCdEdxInfo()const{return fTPCdEdxInfo;}
 
   Double_t  GetTPCmomentum()     const {return  fTPCmomentum;}
-  Double_t  GetTPCTgl()          const {return  fTPCTgl;}
   Int_t     GetTRDnSlices()      const {return  fTRDnSlices/6;}
   Double_t  GetTRDsignal()       const {return  fTRDsignal;}
   Double_t* GetTRDslices()       const {return  fTRDslices;}
@@ -74,8 +72,7 @@ class AliAODPid : public TObject {
   Double32_t  fTPCsignal;        //[0.,0.,10] detector raw signal
   UChar_t     fTPCsignalN;       // number of points used for TPC dE/dx
   Double32_t  fTPCmomentum;      //[0.,0.,20] momentum at the inner wall of TPC;
-  Double32_t  fTPCTgl;           //[0.,0.,10] track momentum dip angle at the inner wall of TPC;
-  
+
   Int_t       fTRDnSlices;       // N slices used for PID in the TRD (as number of slices per tracklet * number of layers)
   UChar_t     fTRDntls;          // number of tracklets used for PID calculation
   UChar_t     fTRDncls[6];       // number of clusters used for dE/dx calculation
@@ -90,7 +87,7 @@ class AliAODPid : public TObject {
  
   AliTPCdEdxInfo * fTPCdEdxInfo; // object containing dE/dx information for different pad regions
 
-  ClassDef(AliAODPid, 15);
+  ClassDef(AliAODPid, 14);
 };
 
 //_____________________________________________________________
index 4e99a43..ee210fc 100644 (file)
@@ -296,7 +296,6 @@ class AliAODTrack : public AliVTrack {
   UShort_t  GetTPCsignalN()      const { return fDetPid?fDetPid->GetTPCsignalN():0;    }
   virtual AliTPCdEdxInfo* GetTPCdEdxInfo() const {return fDetPid?fDetPid->GetTPCdEdxInfo():0;}
   Double_t  GetTPCmomentum()     const { return fDetPid?fDetPid->GetTPCmomentum():0.;  }
-  Double_t  GetTPCTgl()          const { return fDetPid?fDetPid->GetTPCTgl():0.;  }
   Double_t  GetTOFsignal()       const { return fDetPid?fDetPid->GetTOFsignal():0.;    }
   Double_t  GetIntegratedLength() const { return fTrackLength;}
   void      SetIntegratedLength(Double_t l) {fTrackLength = l;}
index 68b359f..ca7557f 100644 (file)
@@ -448,7 +448,6 @@ public:
     return (fTrkPileupVertices?fTrkPileupVertices->GetEntriesFast():0);
   }
   Int_t GetNumberOfTracks()     const {return fTracks?fTracks->GetEntriesFast():0;}
-  Int_t GetNumberOfESDTracks()  const { return GetNumberOfTracks(); }
   Int_t GetNumberOfHLTConfMapTracks()     const {return 0;} 
   // fHLTConfMapTracks->GetEntriesFast();}
   Int_t GetNumberOfHLTHoughTracks()     const {return  0;  }
index 147785d..ab14d4c 100644 (file)
@@ -231,7 +231,6 @@ public:
   Double_t GetTPCsignalSigma() const {return fTPCsignalS;}
   UShort_t GetTPCsignalN() const {return fTPCsignalN;}
   Double_t GetTPCmomentum() const {return fIp?fIp->GetP():GetP();}
-  Double_t GetTPCTgl()      const {return fIp?fIp->GetTgl():GetTgl();}
   Double_t GetTPCchi2() const {return fTPCchi2;}
   Double_t GetTPCchi2Iter1() const {return fTPCchi2Iter1;}
   UShort_t GetTPCclusters(Int_t *idx) const;
index 15892ae..c380253 100644 (file)
@@ -661,8 +661,6 @@ void AliPIDResponse::SetRecoInfo()
     fLHCperiod="LHC10H";
     fMCperiodTPC="LHC10H8";
     if (reg.MatchB(fCurrentFile)) fMCperiodTPC="LHC11A10";
-    // exception for 13d2 and later
-    if (fCurrentAliRootRev >= 62714) fMCperiodTPC="LHC13D2";
     fBeamType="PBPB";
   }
   else if (fRun>=139847&&fRun<=146974) { fLHCperiod="LHC11A"; fMCperiodTPC="LHC10F6A"; }
@@ -1276,11 +1274,10 @@ void AliPIDResponse::SetTPCParametrisation()
   //
   // Setup multiplicity correction
   //
-  if (fUseTPCMultiplicityCorrection && !(fBeamType.CompareTo("PP") == 0)) {
+  if (fUseTPCMultiplicityCorrection && (fBeamType.CompareTo("PBPB") == 0 || fBeamType.CompareTo("AA") == 0)) {
     AliInfo("Multiplicity correction enabled!");
     
     //TODO After testing, load parameters from outside       
-    /*TODO now correction for MC
     if (period.Contains("LHC11A10"))  {//LHC11A10A
       AliInfo("Using multiplicity correction parameters for 11a10!");
       fTPCResponse.SetParameterMultiplicityCorrection(0, 6.90133e-06);
@@ -1298,42 +1295,6 @@ void AliPIDResponse::SetTPCParametrisation()
       fTPCResponse.SetParameterMultiplicitySigmaCorrection(2, -6.36337e-01);
       fTPCResponse.SetParameterMultiplicitySigmaCorrection(3, 1.13479e-02);
     }
-    else*/ if (period.Contains("LHC13B") || period.Contains("LHC13C") || period.Contains("LHC13D") || period.Contains("LHC13E") || 
-             period.Contains("LHC13F"))  {// 2013 pPb data taking
-      AliInfo("Using multiplicity correction parameters for 13b.pass2!");
-      
-      fTPCResponse.SetParameterMultiplicityCorrection(0, -5.906e-06);
-      fTPCResponse.SetParameterMultiplicityCorrection(1, -5.064e-04);
-      fTPCResponse.SetParameterMultiplicityCorrection(2, -3.521e-02);
-      fTPCResponse.SetParameterMultiplicityCorrection(3, 2.469e-02);
-      fTPCResponse.SetParameterMultiplicityCorrection(4, 0);
-      
-      fTPCResponse.SetParameterMultiplicityCorrectionTanTheta(0, -5.32e-06);
-      fTPCResponse.SetParameterMultiplicityCorrectionTanTheta(1, 1.177e-05);
-      fTPCResponse.SetParameterMultiplicityCorrectionTanTheta(2, -0.5);
-      
-      fTPCResponse.SetParameterMultiplicitySigmaCorrection(0, 0.);
-      fTPCResponse.SetParameterMultiplicitySigmaCorrection(1, 0.);
-      fTPCResponse.SetParameterMultiplicitySigmaCorrection(2, 0.);
-      fTPCResponse.SetParameterMultiplicitySigmaCorrection(3, 0.);
-      
-      /* Not too bad, but far from perfect in the details
-      fTPCResponse.SetParameterMultiplicityCorrection(0, -6.27187e-06);
-      fTPCResponse.SetParameterMultiplicityCorrection(1, -4.60649e-04);
-      fTPCResponse.SetParameterMultiplicityCorrection(2, -4.26450e-02);
-      fTPCResponse.SetParameterMultiplicityCorrection(3, 2.40590e-02);
-      fTPCResponse.SetParameterMultiplicityCorrection(4, 0);
-      
-      fTPCResponse.SetParameterMultiplicityCorrectionTanTheta(0, -5.338e-06);
-      fTPCResponse.SetParameterMultiplicityCorrectionTanTheta(1, 1.220e-05);
-      fTPCResponse.SetParameterMultiplicityCorrectionTanTheta(2, -0.5);
-      
-      fTPCResponse.SetParameterMultiplicitySigmaCorrection(0, 7.89237e-05);
-      fTPCResponse.SetParameterMultiplicitySigmaCorrection(1, -1.30662e-02);
-      fTPCResponse.SetParameterMultiplicitySigmaCorrection(2, 8.91548e-01);
-      fTPCResponse.SetParameterMultiplicitySigmaCorrection(3, 1.47931e-02);
-      */
-    }
     else if (period.Contains("LHC10H") && recopass == 2) {    
       AliInfo("Using multiplicity correction parameters for 10h.pass2!");
       fTPCResponse.SetParameterMultiplicityCorrection(0, 3.21636e-07);
@@ -1366,7 +1327,7 @@ void AliPIDResponse::SetTPCParametrisation()
     // the multiplicity correction is explicitely enabled in such expert calls.
     
     AliInfo(Form("Multiplicity correction %sdisabled (%s)!", fUseTPCMultiplicityCorrection ? "automatically " : "",
-                 fUseTPCMultiplicityCorrection ? "pp collisions" : "requested by user"));
+                 fUseTPCMultiplicityCorrection ? "no PbPb or AA" : "requested by user"));
     
     fUseTPCMultiplicityCorrection = kFALSE;
     fTPCResponse.ResetMultiplicityCorrectionFunctions();
index 988752e..367d8cc 100644 (file)
@@ -414,13 +414,13 @@ Double_t AliTPCPIDResponse::GetExpectedSignal(const AliVTrack* track,
   Double_t corrFactorMultiplicity = 1.0;
   
   if (correctEta) {
-    corrFactorEta = GetEtaCorrectionFast(track, dEdxSplines);
+    corrFactorEta = GetEtaCorrection(track, dEdxSplines);
     //TODO Alternatively take current track dEdx
-    //corrFactorEta = GetEtaCorrectionFast(track, dEdx);
+    //corrFactorEta = GetEtaCorrection(track, dEdx);
   }
   
   if (correctMultiplicity)
-    corrFactorMultiplicity = GetMultiplicityCorrectionFast(track, dEdxSplines * corrFactorEta, fCurrentEventMultiplicity);
+    corrFactorMultiplicity = GetMultiplicityCorrection(track, dEdxSplines * corrFactorEta, fCurrentEventMultiplicity);
 
   return dEdxSplines * corrFactorEta * corrFactorMultiplicity;
 }
@@ -547,15 +547,15 @@ Double_t AliTPCPIDResponse::GetExpectedSigma(const AliVTrack* track,
     
   if (nPoints > 0) {
     // Use eta correction (+ eta-dependent sigma)
-    Double_t sigmaPar1 = GetSigmaPar1Fast(track, species, dEdx, responseFunction);
+    Double_t sigmaPar1 = GetSigmaPar1(track, species, dEdx, responseFunction);
     
     if (correctMultiplicity) {
       // In addition, take into account multiplicity dependence of mean and sigma of dEdx
       Double_t dEdxExpectedEtaCorrected = GetExpectedSignal(track, species, dEdx, responseFunction, kTRUE, kFALSE);
       
       // GetMultiplicityCorrection and GetMultiplicitySigmaCorrection both need the eta corrected dEdxExpected
-      Double_t multiplicityCorrFactor = GetMultiplicityCorrectionFast(track, dEdxExpectedEtaCorrected, fCurrentEventMultiplicity);
-      Double_t multiplicitySigmaCorrFactor = GetMultiplicitySigmaCorrectionFast(dEdxExpectedEtaCorrected, fCurrentEventMultiplicity);
+      Double_t multiplicityCorrFactor = GetMultiplicityCorrection(track, dEdxExpectedEtaCorrected, fCurrentEventMultiplicity);
+      Double_t multiplicitySigmaCorrFactor = GetMultiplicitySigmaCorrection(dEdxExpectedEtaCorrected, fCurrentEventMultiplicity);
       
       // multiplicityCorrFactor to correct dEdxExpected for multiplicity. In addition: Correction factor for sigma
       return (dEdxExpectedEtaCorrected * multiplicityCorrFactor) 
@@ -757,9 +757,8 @@ Bool_t AliTPCPIDResponse::ResponseFunctiondEdxN( const AliVTrack* track,
 
 
 //_________________________________________________________________________
-Double_t AliTPCPIDResponse::GetEtaCorrectionFast(const AliVTrack *track, Double_t dEdxSplines) const
+Double_t AliTPCPIDResponse::GetEtaCorrection(const AliVTrack *track, Double_t dEdxSplines) const
 {
-  // NOTE: For expert use only -> Non-experts are advised to use the function without the "Fast" suffix or stick to AliPIDResponse directly.
   //
   // Get eta correction for the given parameters.
   //
@@ -812,9 +811,9 @@ Double_t AliTPCPIDResponse::GetEtaCorrection(const AliVTrack *track, AliPID::EPa
   Double_t dEdxSplines = GetExpectedSignal(track, species, dEdx, responseFunction, kFALSE, kFALSE);
   
   //TODO Alternatively take current track dEdx
-  //return GetEtaCorrectionFast(track, dEdx);
+  //return GetEtaCorrection(track, dEdx);
   
-  return GetEtaCorrectionFast(track, dEdxSplines);
+  return GetEtaCorrection(track, dEdxSplines);
 }
 
 
@@ -849,10 +848,10 @@ Double_t AliTPCPIDResponse::GetEtaCorrectedTrackdEdx(const AliVTrack *track, Ali
   if (species < AliPID::kUnknown) {
     // For the eta correction, do NOT take the multiplicity corrected value of dEdx
     Double_t dEdxSplines = GetExpectedSignal(track, species, dEdx, responseFunction, kFALSE, kFALSE);
-    etaCorr = GetEtaCorrectionFast(track, dEdxSplines);
+    etaCorr = GetEtaCorrection(track, dEdxSplines);
   }
   else {
-    etaCorr = GetEtaCorrectionFast(track, dEdx);
+    etaCorr = GetEtaCorrection(track, dEdx);
   }
     
   if (etaCorr <= 0)
@@ -863,10 +862,8 @@ Double_t AliTPCPIDResponse::GetEtaCorrectedTrackdEdx(const AliVTrack *track, Ali
 
 
 //_________________________________________________________________________
-Double_t AliTPCPIDResponse::GetSigmaPar1Fast(const AliVTrack *track, AliPID::EParticleType species, Double_t dEdx,
-                                             const TSpline3* responseFunction) const
+Double_t AliTPCPIDResponse::GetSigmaPar1(const AliVTrack *track, AliPID::EParticleType species, Double_t dEdx, const TSpline3* responseFunction) const
 {
-  // NOTE: For expert use only -> Non-experts are advised to use the function without the "Fast" suffix or stick to AliPIDResponse directly.
   //
   // Get parameter 1 of sigma parametrisation of TPC dEdx from the histogram for the given track.
   //
@@ -891,7 +888,12 @@ Double_t AliTPCPIDResponse::GetSigmaPar1Fast(const AliVTrack *track, AliPID::EPa
   if (dEdxExpected < 1.)
     return 999;
   
-  Double_t tanTheta = GetTrackTanTheta(track);
+  // For ESD tracks, the local tanTheta could be used (esdTrack->GetInnerParam()->GetTgl()).
+  // However, this value is not available for AODs and, thus, not or AliVTrack.
+  // Fortunately, the following formula allows to approximate the local tanTheta with the 
+  // global theta angle -> This is for by far most of the tracks the same, but gives at
+  // maybe the percent level differences within +- 0.2 in tanTheta -> Which is still ok.
+  Double_t tanTheta = TMath::Tan(-track->Theta() + TMath::Pi() / 2.0);
   Int_t binX = fhEtaSigmaPar1->GetXaxis()->FindBin(tanTheta);
   Int_t binY = fhEtaSigmaPar1->GetYaxis()->FindBin(1. / dEdxExpected);
     
@@ -927,7 +929,7 @@ Double_t AliTPCPIDResponse::GetSigmaPar1(const AliVTrack *track, AliPID::EPartic
   if (!ResponseFunctiondEdxN(track, species, dedxSource, dEdx, nPoints, gainScenario, &responseFunction))
     return 999; 
   
-  return GetSigmaPar1Fast(track, species, dEdx, responseFunction);
+  return GetSigmaPar1(track, species, dEdx, responseFunction);
 }
 
 
@@ -994,65 +996,21 @@ Double_t AliTPCPIDResponse::GetTrackTanTheta(const AliVTrack *track) const
   // global theta angle -> This is for by far most of the tracks the same, but gives at
   // maybe the percent level differences within +- 0.2 in tanTheta -> Which is still ok.
   
-  /*
-  const AliExternalTrackParam* innerParam = track->GetInnerParam();
-  Double_t tanTheta = 0;
-  if (innerParam) 
-    tanTheta = innerParam->GetTgl();
-  else
-    tanTheta = TMath::Tan(-track->Theta() + TMath::Pi() / 2.0);
-  
-  // Constant in formula for B in kGauss (factor 0.1 to convert B from Tesla to kGauss),
-  // pT in GeV/c (factor c*1e-9 to arrive at GeV/c) and curvature in 1/cm (factor 0.01 to get from m to cm)
-  const Double_t constant = TMath::C()* 1e-9 * 0.1 * 0.01; 
-  const Double_t curvature = fMagField * constant / track->Pt(); // in 1./cm
-  
-  Double_t averageddzdr = 0.;
-  Int_t nParts = 0;
-
-  for (Double_t r = 85; r < 245; r++) {
-    Double_t sinPhiLocal = TMath::Abs(r*curvature*0.5);
-    
-    // Cut on |sin(phi)| as during reco
-    if (TMath::Abs(sinPhiLocal) <= 0.95) {
-      const Double_t phiLocal = TMath::ASin(sinPhiLocal);
-      const Double_t tanPhiLocal = TMath::Tan(phiLocal);
-      
-      averageddzdr += tanTheta * TMath::Sqrt(1. + tanPhiLocal * tanPhiLocal); 
-      nParts++;
-    }
-  }
-  
-  if (nParts > 0)
-    averageddzdr /= nParts; 
-  else {
-    AliError("Problems during determination of dz/dr. Returning pure tanTheta as best estimate!");
-    return tanTheta;
-  }
-  
-  //printf("pT: %f\nFactor/magField(kGs)/curvature^-1: %f / %f /%f\ntanThetaGlobalFromTheta/tanTheta/Averageddzdr: %f / %f / %f\n\n",
-  //          track->Pt(), constant, fMagField, 1./curvature, TMath::Tan(-track->Theta() + TMath::Pi() / 2.0), tanTheta, averageddzdr);
-  
-  return averageddzdr;
-  */
-  
   
   // Alternatively (in average, the effect is found to be negligable!):
   // Take local tanTheta from TPC inner wall, if available (currently only for ESDs available)
-  //const AliExternalTrackParam* innerParam = track->GetInnerParam();
-  //if (innerParam) {
-  //  return innerParam->GetTgl();
-  //}
+  /*const AliExternalTrackParam* innerParam = track->GetInnerParam();
+  if (innerParam) {
+    return innerParam->GetTgl();
+  }*/
   
   return TMath::Tan(-track->Theta() + TMath::Pi() / 2.0);
 }
 
 
 //_________________________________________________________________________
-Double_t AliTPCPIDResponse::GetMultiplicityCorrectionFast(const AliVTrack *track, const Double_t dEdxExpected, const Int_t multiplicity) const
+Double_t AliTPCPIDResponse::GetMultiplicityCorrection(const AliVTrack *track, const Double_t dEdxExpected, const Int_t multiplicity) const
 {
-  // NOTE: For expert use only -> Non-experts are advised to use the function without the "Fast" suffix or stick to AliPIDResponse directly.
-  //
   // Calculate the multiplicity correction factor for this track for the given multiplicity.
   // The parameter dEdxExpected should take into account the eta correction already!
   
@@ -1097,7 +1055,7 @@ Double_t AliTPCPIDResponse::GetMultiplicityCorrection(const AliVTrack *track, Al
   // To get the expected signal to determine the multiplicity correction, do NOT ask for the multiplicity corrected value (of course)
   Double_t dEdxExpected = GetExpectedSignal(track, species, dEdx, responseFunction, kTRUE, kFALSE);
   
-  return GetMultiplicityCorrectionFast(track, dEdxExpected, fCurrentEventMultiplicity);
+  return GetMultiplicityCorrection(track, dEdxExpected, fCurrentEventMultiplicity);
 }
 
 
@@ -1141,12 +1099,12 @@ Double_t AliTPCPIDResponse::GetMultiplicityCorrectedTrackdEdx(const AliVTrack *t
     // To get the expected signal to determine the multiplicity correction, do NOT ask for the multiplicity corrected value (of course).
     // However, one needs the eta corrected value!
     Double_t dEdxSplines = GetExpectedSignal(track, species, dEdx, responseFunction, kTRUE, kFALSE);
-    multiplicityCorr = GetMultiplicityCorrectionFast(track, dEdxSplines, fCurrentEventMultiplicity);
+    multiplicityCorr = GetMultiplicityCorrection(track, dEdxSplines, fCurrentEventMultiplicity);
   }
   else {
     // One needs the eta corrected value to determine the multiplicity correction factor!
-    Double_t etaCorr = GetEtaCorrectionFast(track, dEdx);
-    multiplicityCorr = GetMultiplicityCorrectionFast(track, dEdx * etaCorr, fCurrentEventMultiplicity);
+    Double_t etaCorr = GetEtaCorrection(track, dEdx);
+    multiplicityCorr = GetMultiplicityCorrection(track, dEdx * etaCorr, fCurrentEventMultiplicity);
   }
     
   if (multiplicityCorr <= 0)
@@ -1189,12 +1147,12 @@ Double_t AliTPCPIDResponse::GetEtaAndMultiplicityCorrectedTrackdEdx(const AliVTr
   if (species < AliPID::kUnknown) {
     // To get the expected signal to determine the multiplicity correction, do NOT ask for the multiplicity corrected value (of course)
     Double_t dEdxSplines = GetExpectedSignal(track, species, dEdx, responseFunction, kFALSE, kFALSE);
-    etaCorr = GetEtaCorrectionFast(track, dEdxSplines);
-    multiplicityCorr = GetMultiplicityCorrectionFast(track, dEdxSplines * etaCorr, fCurrentEventMultiplicity);
+    etaCorr = GetEtaCorrection(track, dEdxSplines);
+    multiplicityCorr = GetMultiplicityCorrection(track, dEdxSplines * etaCorr, fCurrentEventMultiplicity);
   }
   else {
-    etaCorr = GetEtaCorrectionFast(track, dEdx);
-    multiplicityCorr = GetMultiplicityCorrectionFast(track, dEdx * etaCorr, fCurrentEventMultiplicity);
+    etaCorr = GetEtaCorrection(track, dEdx);
+    multiplicityCorr = GetMultiplicityCorrection(track, dEdx * etaCorr, fCurrentEventMultiplicity);
   }
     
   if (multiplicityCorr <= 0 || etaCorr <= 0)
@@ -1205,10 +1163,8 @@ Double_t AliTPCPIDResponse::GetEtaAndMultiplicityCorrectedTrackdEdx(const AliVTr
 
 
 //_________________________________________________________________________
-Double_t AliTPCPIDResponse::GetMultiplicitySigmaCorrectionFast(const Double_t dEdxExpected, const Int_t multiplicity) const
+Double_t AliTPCPIDResponse::GetMultiplicitySigmaCorrection(const Double_t dEdxExpected, const Int_t multiplicity) const
 {
-  // NOTE: For expert use only -> Non-experts are advised to use the function without the "Fast" suffix or stick to AliPIDResponse directly.
-  //
   // Calculate the multiplicity sigma correction factor for the corresponding expected dEdx and for the given multiplicity.
   // The parameter dEdxExpected should take into account the eta correction already!
   
@@ -1250,7 +1206,7 @@ Double_t AliTPCPIDResponse::GetMultiplicitySigmaCorrection(const AliVTrack *trac
   // To get the expected signal to determine the multiplicity correction, do NOT ask for the multiplicity corrected value (of course)
   Double_t dEdxExpected = GetExpectedSignal(track, species, dEdx, responseFunction, kTRUE, kFALSE);
   
-  return GetMultiplicitySigmaCorrectionFast(dEdxExpected, fCurrentEventMultiplicity);
+  return GetMultiplicitySigmaCorrection(dEdxExpected, fCurrentEventMultiplicity);
 }
 
 
index a03acc1..9bf2639 100644 (file)
@@ -120,25 +120,14 @@ public:
   void SetCurrentEventMultiplicity(Int_t value) { fCurrentEventMultiplicity = value;  };
   Int_t GetCurrentEventMultiplicity() const { return fCurrentEventMultiplicity; };
 
-  Double_t GetMultiplicityCorrection(const AliVTrack *track, AliPID::EParticleType species, ETPCdEdxSource dedxSource = kdEdxDefault) const;
+  Double_t GetMultiplicityCorrection(const AliVTrack *track, AliPID::EParticleType species, ETPCdEdxSource dedxSource) const;
   
-  Double_t GetMultiplicitySigmaCorrection(const AliVTrack *track, AliPID::EParticleType species, ETPCdEdxSource dedxSource = kdEdxDefault) const;
+  Double_t GetMultiplicitySigmaCorrection(const AliVTrack *track, AliPID::EParticleType species, ETPCdEdxSource dedxSource) const;
 
   Double_t GetMultiplicityCorrectedTrackdEdx(const AliVTrack *track, AliPID::EParticleType species, ETPCdEdxSource dedxSource = kdEdxDefault) const;
   
   Double_t GetEtaAndMultiplicityCorrectedTrackdEdx(const AliVTrack *track, AliPID::EParticleType species,
                                                    ETPCdEdxSource dedxSource = kdEdxDefault) const;
-  
-  // Fast functions for expert use only
-  Double_t GetEtaCorrectionFast(const AliVTrack *track, Double_t dEdxSplines) const;
-  
-  Double_t GetMultiplicityCorrectionFast(const AliVTrack *track, const Double_t dEdxExpected, const Int_t multiplicity) const;
-  
-  Double_t GetMultiplicitySigmaCorrectionFast(const Double_t dEdxExpected, const Int_t multiplicity) const;
-  
-  Double_t GetSigmaPar1Fast(const AliVTrack *track, AliPID::EParticleType species,
-                            Double_t dEdx, const TSpline3* responseFunction) const;
-  
   //NEW
   void SetSigma(Float_t res0, Float_t resN2, ETPCgainScenario gainScenario );
   Double_t GetExpectedSignal( const AliVTrack* track,
@@ -232,6 +221,15 @@ protected:
                             const TSpline3* responseFunction,
                             Bool_t correctEta,
                             Bool_t correctMultiplicity) const;
+                             
+  Double_t GetEtaCorrection(const AliVTrack *track, Double_t dEdxSplines) const;
+  
+  Double_t GetMultiplicityCorrection(const AliVTrack *track, const Double_t dEdxExpected, const Int_t multiplicity) const;
+  
+  Double_t GetMultiplicitySigmaCorrection(const Double_t dEdxExpected, const Int_t multiplicity) const;
+  
+  Double_t GetSigmaPar1(const AliVTrack *track, AliPID::EParticleType species,
+                        Double_t dEdx, const TSpline3* responseFunction) const;
   
 private:
   Float_t fMIP;          // dEdx for MIP
index 0cfe3fc..fa14f83 100644 (file)
@@ -194,8 +194,6 @@ public:
   virtual Int_t GetNumberOfTrdTracks() const { return 0; }
   virtual AliVTrdTrack* GetTrdTrack(Int_t /* iTrack */) const { return 0x0; }
 
-  virtual Int_t     GetNumberOfESDTracks()  const { return 0; }
-
   ClassDef(AliVEvent,2)  // base class for AliEvent data
 };
 #endif 
index 79ead13..e654f92 100644 (file)
@@ -108,7 +108,6 @@ public:
   virtual Double_t  GetTPCsignalTunedOnData() const {return 0.;}
   virtual UShort_t  GetTPCsignalN()      const {return 0 ;}
   virtual Double_t  GetTPCmomentum()     const {return 0.;}
-  virtual Double_t  GetTPCTgl()          const {return 0.;}
   virtual Double_t  GetTOFsignal()       const {return 0.;}
   virtual Double_t  GetTOFsignalTunedOnData() const {return 0.;}
   virtual Double_t  GetHMPIDsignal()     const {return 0.;}