]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCcalibBase.cxx
Add new class for drift velocity
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibBase.cxx
index 1bb96b1350083b6692efcc22cd64deebf0ad202c..fac0eb727dde05774d6c309813750ba9b126e36f 100644 (file)
@@ -52,6 +52,7 @@
 #include "TH1D.h"
 #include "TH2D.h"
 #include "TAxis.h"
+#include "AliRecoParam.h"
 
 
 #include "AliLog.h"
@@ -76,6 +77,7 @@ AliTPCcalibBase::AliTPCcalibBase():
     fTriggerClass(),
     fCurrentEvent(0),           //! current event
     fCurrentTrack(0),           //! current esd track
+    fCurrentFriendTrack(0),           //! current esd track
     fCurrentSeed(0),            //! current seed
     fDebugLevel(0)
 {
@@ -100,6 +102,7 @@ AliTPCcalibBase::AliTPCcalibBase(const char * name, const char * title):
   fTriggerClass(),
   fCurrentEvent(0),           //! current event
   fCurrentTrack(0),           //! current esd track
+  fCurrentFriendTrack(0),           //! current esd track
   fCurrentSeed(0),            //! current seed
   fDebugLevel(0)
 {
@@ -124,6 +127,7 @@ AliTPCcalibBase::AliTPCcalibBase(const AliTPCcalibBase&calib):
   fTriggerClass(calib.fTriggerClass),
   fCurrentEvent(0),           //! current event
   fCurrentTrack(0),           //! current esd track
+  fCurrentFriendTrack(0),           //! current esd track
   fCurrentSeed(0),            //! current seed
   fDebugLevel(calib.fDebugLevel)
 {
@@ -134,7 +138,7 @@ AliTPCcalibBase::AliTPCcalibBase(const AliTPCcalibBase&calib):
 
 AliTPCcalibBase &AliTPCcalibBase::operator=(const AliTPCcalibBase&calib){
   //
-  //
+  // operator=
   //
   ((TNamed *)this)->operator=(calib);
   fDebugStreamer=0;
@@ -198,26 +202,13 @@ Bool_t AliTPCcalibBase::HasLaser(AliESDEvent *event){
   //
   //
   //
-  // Thresholds more than 8 tracks with small dip angle
-  
-  const Int_t kMinLaserTracks = 8;
-  const Float_t kThrLaser       = 0.3;
-  const Float_t kLaserTgl       = 0.01;
-
-  Int_t ntracks = event->GetNumberOfTracks();
-  if (ntracks<kMinLaserTracks) return kFALSE;
-  Float_t nlaser=0;
-  Float_t nall=0;
-  for (Int_t i=0;i<ntracks;++i) {
-    AliESDtrack *track=event->GetTrack(i);
-    if (!track) continue;
-    if (track->GetTPCNcls()<=0) continue; 
-    nall++;
-    if (TMath::Abs(track->GetTgl())<kLaserTgl) nlaser++;
+  // Use event specie
+  Bool_t isLaser=kFALSE;
+  UInt_t specie = event->GetEventSpecie();  // select only cosmic events
+  if (specie==AliRecoParam::kCalib) {
+    isLaser = kTRUE;
   }
-  if (nlaser>kMinLaserTracks) return kTRUE;
-  if (nall>0 && nlaser/nall>kThrLaser) return kTRUE;
-  return kFALSE;
+  return isLaser;
 }
 
 
@@ -274,7 +265,7 @@ TGraphErrors * AliTPCcalibBase::FitSlices(THnSparse *h, Int_t axisDim1, Int_t ax
   TH1D * projectionHist =0;
   //
 
-  for(Int_t i=1; i < hist->GetNbinsX(); i++) {
+  for(Int_t i=1; i <= hist->GetNbinsX(); i++) {
     Int_t nsum=0;
     Int_t imin   =  i;
     Int_t imax   =  i;
@@ -380,7 +371,7 @@ void AliTPCcalibBase::BinLogX(THnSparse *h, Int_t axisDim) {
    new_bins[i] = factor * new_bins[i-1];
   }
   axis->Set(bins, new_bins);
-  delete new_bins;
+  delete [] new_bins;
 
 }
 void AliTPCcalibBase::BinLogX(TH1 *h) {
@@ -401,6 +392,6 @@ void AliTPCcalibBase::BinLogX(TH1 *h) {
    new_bins[i] = factor * new_bins[i-1];
   }
   axis->Set(bins, new_bins);
-  delete new_bins;
+  delete [] new_bins;
 
 }