]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
(Marian)
authormarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 11 Mar 2008 17:29:16 +0000 (17:29 +0000)
committermarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 11 Mar 2008 17:29:16 +0000 (17:29 +0000)
1. Modified assignment operators
2. Enabling of the V0 comparison (Partial - no label info in V0 anymore)
3. Update of README file

PWG1/AliESDRecInfo.cxx
PWG1/AliESDRecInfo.h
PWG1/AliESDRecV0Info.cxx
PWG1/AliMCInfo.cxx
PWG1/AliRecInfoMaker.cxx
PWG1/PWG1README.txt

index 998fc4f7fdf1da18b7f1ff202b9ed6ce6488b742..dcacc2235b0272c36533f0c12249219e5d1de265 100644 (file)
@@ -75,8 +75,7 @@ AliESDRecInfo::AliESDRecInfo():
   fTrackF(0),      // friend track
   fTPCtrack(0),        // tpc track
   fITStrack(0),        // its track
-  fTRDtrack(0),        // trd track  
-  fTPCtrackAtVertex(0) // tpc track propagated to the vertex  
+  fTRDtrack(0)        // trd track  
 {
   //
   //  default constructor
@@ -99,8 +98,7 @@ AliESDRecInfo::AliESDRecInfo(const AliESDRecInfo& recinfo):
   fTrackF(0),      // friend track
   fTPCtrack(0),        // tpc track
   fITStrack(0),        // its track
-  fTRDtrack(0),        // trd track  
-  fTPCtrackAtVertex(0) // tpc track propagated to the vertex  
+  fTRDtrack(0)        // trd track  
 {
   //
   //
@@ -115,7 +113,7 @@ AliESDRecInfo& AliESDRecInfo::operator=(const AliESDRecInfo& info) {
   //
   // Assignment operator
   //
-  delete this;
+  this->~AliESDRecInfo();
   new (this) AliESDRecInfo(info);
   return *this;
 }
@@ -472,24 +470,6 @@ void AliESDRecInfo::UpdateTPC(AliMCInfo* info){
     fSign =sign;
     fTPCPools[4] = sign*(1./fTPCinP0[3]-1./fTPCinP1[3])/TMath::Sqrt(TMath::Abs(cov[14]));
   }
-
-  // Track propagated to the vertex during tracking - paramaters in ESD
-
-  //
-  if (fESDtrack && fESDtrack->GetTPCInnerParam()){
-    AliExternalTrackParam *track = new AliExternalTrackParam(*fESDtrack->GetTPCInnerParam());
-    const Double_t kRadius  = 3;   // beam pipe radius
-    const Double_t kMaxStep = 5;   // max step
-    //const Double_t kMaxD    = 123456;  // max distance to prim vertex
-    //Double_t       fieldZ   = AliTracker::GetBz();  //
-    AliTracker::PropagateTrackTo(track,kRadius,info->GetMass(),kMaxStep,kTRUE);
-    AliTracker::PropagateTrackTo(track,0,info->GetMass(),0.5,kTRUE);
-    //track->RelateToVertex(fEvent->GetVertex(),fieldZ, kMaxD);
-    fTPCtrackAtVertex = track;
-  }else{
-    delete fTPCtrackAtVertex;
-    fTPCtrackAtVertex=0;
-  }  
 }
 
 
index a1c2ddc245517cb616ad3e5ba5fab321ecee7e97..b33bc21a8642746cb33f755734790e6a858d7e35 100644 (file)
@@ -91,7 +91,6 @@ private:
   AliTPCseed *fTPCtrack;        // tpc track
   AliITStrackMI *fITStrack;        // its track
   AliTRDtrack   *fTRDtrack;        // trd track
-  AliExternalTrackParam* fTPCtrackAtVertex; // TPC track propagated to the prim vertex
   ClassDef(AliESDRecInfo,2)  // container for 
 };
 
index 54e48f57c6772ff84c3a0bb87496cd13d519c66f..1c126d9c663748ca67b269041c3f5f4c20336e66 100644 (file)
@@ -88,6 +88,8 @@ AliESDRecV0Info:: AliESDRecV0Info():
   //
   // default constructor
   //
+  fV0tpc = new AliV0();
+  fV0its = new AliV0();
 }
 
 
index 4752b8f8e74bc589065dd66a26751914aa46400f..986305bd3ec1f8a2e1bc00e0dd9f092f82828771 100644 (file)
@@ -141,7 +141,7 @@ AliMCInfo& AliMCInfo::operator=(const AliMCInfo& info) {
   //
   // Assignment operator
   //
-  delete this;
+  this->~AliMCInfo();
   new (this) AliMCInfo(info);
   return *this;
 }
index b5b003a39bd840f6269684a43c252fd0ddf1cc20..a1f61d008bc96a1a9d0e806adc03c18b070c6112 100644 (file)
@@ -527,7 +527,7 @@ Int_t AliRecInfoMaker::Exec()
     if (fDebug>2) cout<<"\tStart loop over tree genTracks"<<endl;
     if (TreeGenLoop(eventNr)>0) return 1;
     //BuildKinkInfo0(eventNr);
-    //BuildV0Info(eventNr); // no V0 info for a moment
+    BuildV0Info(eventNr); // no V0 info for a moment
     fRecArray->Delete();
 
     if (fDebug>2) cout<<"\tEnd loop over tree genTracks"<<endl;
@@ -1145,21 +1145,27 @@ Int_t AliRecInfoMaker::BuildV0Info(Int_t eventNr)
     if (fMultiRecV0[label]>0 || fMultiRecV0[label2]>0){
 
       //      for (Int_t j=0;j<TMath::Min(fMultiRecV0s[label],100);j++){
-     //  for (Int_t j=TMath::Min(fMultiRecV0[label],Short_t(20))-1;j>=0;j--){
-//     Int_t index = fIndexRecV0[label*20+j];
-//     if (index<0) continue;
-//     AliV0 *v0MI2  = (AliV0*)fEvent->GetV0(index);
-//     if (TMath::Abs(v0MI2->GetLabel(0))==label &&TMath::Abs(v0MI2->GetLabel(1))==label2) {
-//       v0MI =v0MI2;
-//       fRecV0Info->fV0Multiple++;
-//       fSignedV0[index]=1;
-//     }
-//     if (TMath::Abs(v0MI2->GetLabel(1))==label &&TMath::Abs(v0MI2->GetLabel(0))==label2) {
-//       v0MI =v0MI2;
-//       fRecV0Info->fV0Multiple++;
-//       fSignedV0[index]=1;
-//     }
-//       }
+      for (Int_t j=TMath::Min(fMultiRecV0[label],Short_t(20))-1;j>=0;j--){
+       Int_t index = fIndexRecV0[label*20+j];
+       if (index<0) continue;
+       AliV0 *v0MI2  = (AliV0*)fEvent->GetV0(index);
+       // get track labels
+       AliESDtrack * trackn = fEvent->GetTrack((v0MI2->GetNindex()));
+       AliESDtrack * trackp = fEvent->GetTrack((v0MI2->GetPindex()));
+       Int_t vlabeln = (trackn==0) ? -1 : trackn->GetLabel(); 
+       Int_t vlabelp = (trackp==0) ? -1 : trackp->GetLabel(); 
+       //
+       if (TMath::Abs(vlabeln)==label &&TMath::Abs(vlabelp)==label2) {
+         v0MI =v0MI2;
+         fRecV0Info->fV0Multiple++;
+         fSignedV0[index]=1;
+       }
+       if (TMath::Abs(vlabelp)==label &&TMath::Abs(vlabeln)==label2) {
+         v0MI =v0MI2;
+         fRecV0Info->fV0Multiple++;
+         fSignedV0[index]=1;
+       }
+      }
     }
     if (v0MI){
       fRecV0Info->fV0rec = v0MI;
@@ -1170,28 +1176,28 @@ Int_t AliRecInfoMaker::BuildV0Info(Int_t eventNr)
   }
   //
   // write fake v0s
-
-  Int_t nV0MIs = fEvent->GetNumberOfV0s();
-  for (Int_t i=0;i<nV0MIs;i++){
-    if (fSignedV0[i]==0){
-      AliV0 *v0MI  = (AliV0*)fEvent->GetV0(i);
-      if (!v0MI) continue;
-      //
-      fRecV0Info->fV0rec = v0MI;
-      fRecV0Info->fV0Status  =-10;
-      fRecV0Info->fRecStatus =-2;
-      //
- //      AliESDRecInfo*  fRecInfo1 = (AliESDRecInfo*)fRecArray->At(TMath::Abs(v0MI->GetLabel(0)));
+  //
//  Int_t nV0MIs = fEvent->GetNumberOfV0s();
+//   for (Int_t i=0;i<nV0MIs;i++){
+//     if (fSignedV0[i]==0){
+//       AliV0 *v0MI  = (AliV0*)fEvent->GetV0(i);
+//       if (!v0MI) continue;
+//       //
+//       fRecV0Info->fV0rec = v0MI;
+//       fRecV0Info->fV0Status  =-10;
+//       fRecV0Info->fRecStatus =-2;
+//       //
+//       AliESDRecInfo*  fRecInfo1 = (AliESDRecInfo*)fRecArray->At(TMath::Abs(v0MI->GetLabel(0)));
 //       AliESDRecInfo*  fRecInfo2 = (AliESDRecInfo*)fRecArray->At(TMath::Abs(v0MI->GetLabel(1)));
 //       if (fRecInfo1 && fRecInfo2){
 //     fRecV0Info->fT1 = (*fRecInfo1);
 //     fRecV0Info->fT2 = (*fRecInfo2);
 //     fRecV0Info->fRecStatus =-1;
 //       }
-      fRecV0Info->Update(vertex);
-      fTreeCmpV0->Fill();
-    }
-  }
+//       fRecV0Info->Update(vertex);
+//       fTreeCmpV0->Fill();
+//     }
+//   }
 
 
 
index aaa9fdb353bae44e642ec7bc3c9986b0daaf85a3..ae27287e4a0c5bfa1b399f6a56ad5a5eeeeb1bc1 100644 (file)
@@ -4,7 +4,7 @@ How to make a comparison using MC information:
 
 
 0. Build the MC info tree
-
+gSystem->Load("libANALYSIS.so");
 gSystem->Load("libPWG1.so")
 AliGenInfoMaker *t = new AliGenInfoMaker("galice.root","genTracks.root",0,0)
 t->Exec();