Additional data for track quality control (M.Ivanov)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 28 Feb 2006 12:39:57 +0000 (12:39 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 28 Feb 2006 12:39:57 +0000 (12:39 +0000)
STEER/AliESDComparisonMI.C
STEER/AliESDtrack.cxx
STEER/AliESDtrack.h

index dc48755..d3df3c3 100644 (file)
@@ -28,9 +28,9 @@ marian.ivanov@cern.ch
 Usage:
  
 
-.L $ALICE_ROOT/STEER/AliGenInfo.C+
+.L $ALICE_ROOT/STEER/AliGenInfo.C++g
 //be sure you created genTracks file before
-.L $ALICE_ROOT/STEER/AliESDComparisonMI.C+
+.L $ALICE_ROOT/STEER/AliESDComparisonMI.C++g
 
 //
 ESDCmpTr *t2 = new ESDCmpTr("genTracks.root","cmpESDTracks.root","galice.root",-1,0,0);
@@ -453,9 +453,9 @@ void AliESDRecInfo::Update(AliMCInfo* info,AliTPCParam * /*par*/, Bool_t reconst
       fTPCAngle1[0] = TMath::ATan2(fTPCinP1[1],fTPCinP1[0]);
       fTPCAngle1[1] = TMath::ATan(fTPCinP1[2]/fTPCinP1[3]);  
     }    
-    Double_t cov[15], param[5],x;
+    Double_t cov[15], param[5],x, alpha;
     fESDTrack.GetInnerExternalCovariance(cov);
-    fESDTrack.GetInnerExternalParameters(x,param);
+    fESDTrack.GetInnerExternalParameters(alpha, x,param);
     if (x<50) return ;
     //
     fTPCDelta[0] = (fTPCinR0[4]-fTPCinR1[4])*fTPCinR1[3];  //delta rfi
@@ -1674,7 +1674,6 @@ Int_t ESDCmpTr::BuildV0Info(Int_t eventNr)
 
 
   fTreeCmpV0->AutoSave();
-  fRecArray->Delete();
   printf("Time spended in BuilV0Info Loop\n");
   timer.Print();
   if (fDebug > 2) cerr<<"end of BuildV0Info Loop"<<endl;
index d04ebff..b8dd383 100644 (file)
@@ -79,8 +79,11 @@ AliESDtrack::AliESDtrack() :
   fITStrack(0),
   fTPCchi2(0),
   fTPCncls(0),
+  fTPCnclsF(0),
   fTPCClusterMap(159),//number of padrows
   fTPCsignal(0),
+  fTPCsignalN(0),
+  fTPCsignalS(0),
   fTPCLabel(0),
   fTRDchi2(0),
   fTRDncls(0),
@@ -132,7 +135,7 @@ AliESDtrack::AliESDtrack() :
   for (i=0; i<180; i++){ fTPCindex[i]=0; }
   for (i=0; i<3;i++)   { fKinkIndexes[i]=0;}
   for (i=0; i<3;i++)   { fV0Indexes[i]=-1;}
-  for (i=0; i<130; i++) { fTRDindex[i]=0; }
+  for (i=0; i<180; i++) { fTRDindex[i]=0; }
   for (i=0;i<kNPlane;i++) {fTRDsignals[i]=0.; fTRDTimBin[i]=-1;}
   for (i=0;i<4;i++) {fTPCPoints[i]=-1;}
   for (i=0;i<3;i++) {fTOFLabel[i]=-1;}
@@ -168,8 +171,11 @@ AliESDtrack::AliESDtrack(const AliESDtrack& track):
   fITStrack(0),    //coping separatelly - in user code
   fTPCchi2(track.fTPCchi2),
   fTPCncls(track.fTPCncls),
+  fTPCnclsF(track.fTPCnclsF),
   fTPCClusterMap(track.fTPCClusterMap),
   fTPCsignal(track.fTPCsignal),
+  fTPCsignalN(track.fTPCsignalN),
+  fTPCsignalS(track.fTPCsignalS),
   fTPCLabel(track.fTPCLabel),
   fTRDchi2(track.fTRDchi2),
   fTRDncls(track.fTRDncls),
@@ -191,8 +197,7 @@ AliESDtrack::AliESDtrack(const AliESDtrack& track):
   fRICHtheta(track.fRICHtheta),
   fRICHphi(track.fRICHphi),
   fRICHdx(track.fRICHdx),
-  fRICHdy(track.fRICHdy),
-  fPoints(track.fPoints)
+  fRICHdy(track.fRICHdy)
 {
   //
   //copy constructor
@@ -210,7 +215,7 @@ AliESDtrack::AliESDtrack(const AliESDtrack& track):
   for (Int_t i=0; i<3;i++)   { fKinkIndexes[i]=track.fKinkIndexes[i];}
   for (Int_t i=0; i<3;i++)   { fV0Indexes[i]=track.fV0Indexes[i];}
   //
-  for (Int_t i=0;i<130;i++) fTRDindex[i]=track.fTRDindex[i];   
+  for (Int_t i=0;i<180;i++) fTRDindex[i]=track.fTRDindex[i];   
   for (Int_t i=0;i<kNPlane;i++) {
       fTRDsignals[i]=track.fTRDsignals[i]; 
       fTRDTimBin[i]=track.fTRDTimBin[i];
@@ -232,6 +237,10 @@ AliESDtrack::AliESDtrack(const AliESDtrack& track):
   if (track.fCp) fCp=new AliExternalTrackParam(*track.fCp);
   if (track.fIp) fIp=new AliExternalTrackParam(*track.fIp);
   if (track.fOp) fOp=new AliExternalTrackParam(*track.fOp);
+  fPoints =0;
+  if (track.fPoints){
+    fPoints  = new AliTrackPointArray(*(track.fPoints));
+  }
 }
 //_______________________________________________________________________
 AliESDtrack::~AliESDtrack(){ 
@@ -290,9 +299,12 @@ void AliESDtrack::MakeMiniESDtrack(){
   // Reset TPC related track information
   fTPCchi2 = 0;       
   fTPCncls = 0;       
+  fTPCnclsF = 0;       
   for (Int_t i=0;i<180;i++) fTPCindex[i] = 0;  
   fTPCClusterMap = 0;  
   fTPCsignal= 0;      
+  fTPCsignalS= 0;      
+  fTPCsignalN= 0;      
   for (Int_t i=0;i<AliPID::kSPECIES;i++) fTPCr[i]=0; 
   fTPCLabel=0;       
   for (Int_t i=0;i<4;i++) fTPCPoints[i] = 0;
@@ -303,7 +315,7 @@ void AliESDtrack::MakeMiniESDtrack(){
   fTRDchi2 = 0;        
   fTRDncls = 0;       
   fTRDncls0 = 0;       
-  for (Int_t i=0;i<130;i++) fTRDindex[i] = 0;   
+  for (Int_t i=0;i<180;i++) fTRDindex[i] = 0;   
   fTRDsignal = 0;      
   for (Int_t i=0;i<kNPlane;i++) {
       fTRDsignals[i] = 0; 
@@ -387,7 +399,7 @@ Bool_t AliESDtrack::UpdateTrackParams(const AliKalmanTrack *t, ULong_t flags){
   }
 
   Set(*t);
-
+  
   switch (flags) {
     
   case kITSin: case kITSout: case kITSrefit:
@@ -403,10 +415,8 @@ Bool_t AliESDtrack::UpdateTrackParams(const AliKalmanTrack *t, ULong_t flags){
     fTPCLabel = t->GetLabel();
     if (!fIp) fIp=new AliExternalTrackParam(*t);
     else fIp->Set(*t);
-
   case kTPCout:
-  
-    fTPCncls=t->GetNumberOfClusters();
+    fTPCncls=t->GetNumberOfClusters();    
     fTPCchi2=t->GetChi2();
     
      {//prevrow must be declared in separate namespace, otherwise compiler cries:
@@ -719,7 +729,7 @@ Int_t AliESDtrack::GetTRDclusters(UInt_t *idx) const {
   // This function returns indices of the assgined TRD clusters 
   //---------------------------------------------------------------------
   if (idx!=0)
-    for (Int_t i=0; i<130; i++) idx[i]=fTRDindex[i];  // MI I prefer some constant
+    for (Int_t i=0; i<180; i++) idx[i]=fTRDindex[i];  // MI I prefer some constant
   return fTRDncls;
 }
 
index cf5ecaf..1cc8408 100644 (file)
@@ -120,9 +120,11 @@ public:
   void SetTPCpid(const Double_t *p);
   void GetTPCpid(Double_t *p) const;
   void SetTPCPoints(Float_t points[4]){for (Int_t i=0;i<4;i++) fTPCPoints[i]=points[i];}
+  void SetTPCPointsF(UChar_t  findable){fTPCnclsF = findable;}
   Float_t GetTPCPoints(Int_t i){return fTPCPoints[i];}
   void SetKinkIndexes(Int_t points[3]) {for (Int_t i=0;i<3;i++) fKinkIndexes[i] = points[i];}
   void SetV0Indexes(Int_t points[3]) {for (Int_t i=0;i<3;i++) fV0Indexes[i] = points[i];}
+  void SetTPCsignal(Float_t signal, Float_t sigma, UChar_t npoints){ fTPCsignal = signal; fTPCsignalS = sigma; fTPCsignalN = npoints;}
   Float_t GetTPCsignal() const {return fTPCsignal;}
   Float_t GetTPCchi2() const {return fTPCchi2;}
   Int_t GetTPCclusters(Int_t *idx) const;
@@ -278,9 +280,12 @@ protected:
   // TPC related track information
   Float_t fTPCchi2;        // chi2 in the TPC
   Int_t   fTPCncls;        // number of clusters assigned in the TPC
+  UShort_t fTPCnclsF;      // number of findable clusters in the TPC
   Int_t  fTPCindex[180];  //! indices of the assigned TPC clusters
   TBits   fTPCClusterMap;  // Map of clusters, one bit per padrow; 1 if has a cluster on given padrow
   Float_t fTPCsignal;      // detector's PID signal
+  UShort_t fTPCsignalN;      // number of points used for dEdx
+  Float_t  fTPCsignalS;    // RMS of dEdx measurement
   Float_t fTPCr[AliPID::kSPECIES]; // "detector response probabilities" (for the PID)
   Int_t   fTPCLabel;       // label according TPC
   Float_t fTPCPoints[4];   // TPC points -first, max. dens, last and max density
@@ -291,7 +296,7 @@ protected:
   Float_t fTRDchi2;        // chi2 in the TRD
   Int_t   fTRDncls;        // number of clusters assigned in the TRD
   Int_t   fTRDncls0;       // number of clusters assigned in the TRD before first material cross
-  UInt_t  fTRDindex[130];   //! indices of the assigned TRD clusters
+  UInt_t  fTRDindex[180];   //! indices of the assigned TRD clusters
   Float_t fTRDsignal;      // detector's PID signal
   Float_t fTRDsignals[kNPlane];  // TRD signals from all six planes
   Int_t fTRDTimBin[kNPlane];     // Time bin of Max cluster from all six planes
@@ -332,7 +337,7 @@ protected:
 
   AliTrackPointArray *fPoints; // Array which contains the track space points in the global frame
 
-  ClassDef(AliESDtrack,21)  //ESDtrack 
+  ClassDef(AliESDtrack,22)  //ESDtrack 
 };
 
 #endif