]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliAODTagCreator.cxx
Medium cuts moved to galice.cuts
[u/mrichter/AliRoot.git] / STEER / AliAODTagCreator.cxx
index ec457688270aaf1e80c4f68f41e628bc65a49481..11e56d579f1793b46a2651a8732e370224a8d3f0 100644 (file)
@@ -101,15 +101,14 @@ Bool_t AliAODTagCreator::ReadGridCollection(TGridResult *fresult) {
 }
 
 //______________________________________________________________________________
-Bool_t AliAODTagCreator::ReadLocalCollection(const char *localpath) {
+Bool_t AliAODTagCreator::ReadLocalCollection(const char *localpath, const char* pattern) {
   // Checks the different subdirs of the given local path and in the
-  // case where it finds an AliAODs.root file it creates the tags
+  // case where it finds an AliAOD.root file it creates the tags
   
   void *dira =  gSystem->OpenDirectory(localpath);
   Char_t fPath[256];
-  const char * dirname = 0x0;
+  const char * dirname  = 0x0;
   const char * filename = 0x0;
-  const char * pattern = "AliAODs.root"; 
 
   fChain = new TChain("aodTree");
 
@@ -333,7 +332,7 @@ void AliAODTagCreator::CreateTags(const char* type)
        //evTag->SetEventId(iEventNumber+1);
        evTag->SetGUID(fguid);
        if(!strcmp(type,"grid")) {
-           evTag->SetMD5(0);
+           evTag->SetMD5("");
            evTag->SetTURL(fturl);
            evTag->SetSize(0);
            }
@@ -390,11 +389,21 @@ void AliAODTagCreator::FillEventTag(AliAODEvent* aod, AliEventTag* evTag)
     Int_t   nCh1GeV = 0, nCh3GeV = 0, nCh10GeV = 0;
     Int_t   nMu1GeV = 0, nMu3GeV = 0, nMu10GeV = 0;
     Int_t   nEl1GeV = 0, nEl3GeV = 0, nEl10GeV = 0;
-    Float_t maxPt =  .0, meanPt = .0, totalP =  .0;
+    Float_t maxPt =  .0, etamaxPt = -999., phimaxPt = -999., meanPt = .0, totalP =  .0;
 
     TRefArray tmp;
 
-    Int_t nTracks = fAODEvent->GetNTracks();
+
+    // Primary Vertex
+    AliAODVertex *pVertex = fAODEvent->GetPrimaryVertex();
+    if (pVertex) {
+       evTag->SetVertexX(pVertex->GetX());
+       evTag->SetVertexY(pVertex->GetY());
+       evTag->SetVertexZ(pVertex->GetZ());
+       Double_t covmatrix[6];
+       pVertex->GetCovarianceMatrix(covmatrix);
+       evTag->SetVertexZError(sqrt(covmatrix[5]));
+    }
     // loop over vertices 
     Int_t nVtxs = fAODEvent->GetNumberOfVertices();
     for (Int_t nVtx = 0; nVtx < nVtxs; nVtx++) {
@@ -403,11 +412,17 @@ void AliAODTagCreator::FillEventTag(AliAODEvent* aod, AliEventTag* evTag)
        if(vertex->GetType() == 2) nV0s      += 1;
        if(vertex->GetType() == 3) nCascades += 1;
     }
+    Int_t nTracks = fAODEvent->GetNTracks();
     for (Int_t nTr = 0; nTr < nTracks; nTr++) {
        AliAODTrack *track = fAODEvent->GetTrack(nTr);
        
        Double_t fPt = track->Pt();
-       if(fPt > maxPt) maxPt = fPt;
+       if(fPt > maxPt) {
+           maxPt = fPt;
+           etamaxPt = track->Eta();
+           phimaxPt = track->Phi();
+       }
+       
        if(track->Charge() > 0) {
            nPos++;
            if(fPt > fLowPtCut)      nCh1GeV++;
@@ -501,4 +516,6 @@ void AliAODTagCreator::FillEventTag(AliAODEvent* aod, AliEventTag* evTag)
     evTag->SetTotalMomentum(totalP);
     evTag->SetMeanPt(meanPt);
     evTag->SetMaxPt(maxPt);
+    evTag->SetEtaMaxPt(etamaxPt);
+    evTag->SetPhiMaxPt(phimaxPt);
 }