X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliAODTagCreator.cxx;h=11e56d579f1793b46a2651a8732e370224a8d3f0;hb=4ab8985c1f7fbe9b9642049b922752f866ac00a2;hp=ec457688270aaf1e80c4f68f41e628bc65a49481;hpb=a69c12467a14116631a0a750641064d590698b81;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliAODTagCreator.cxx b/STEER/AliAODTagCreator.cxx index ec457688270..11e56d579f1 100644 --- a/STEER/AliAODTagCreator.cxx +++ b/STEER/AliAODTagCreator.cxx @@ -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); }