}
// Add the event tag
+ printf("Got %13.3f \n", evTag->GetEtaMaxPt());
fRunTag->AddEventTag(*evTag);
delete evTag;
// Last event
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++) {
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++;
evTag->SetTotalMomentum(totalP);
evTag->SetMeanPt(meanPt);
evTag->SetMaxPt(maxPt);
+ evTag->SetEtaMaxPt(etamaxPt);
+ evTag->SetPhiMaxPt(phimaxPt);
}
Int_t nCh1GeV, nCh3GeV, nCh10GeV;
Int_t nMu1GeV, nMu3GeV, nMu10GeV;
Int_t nEl1GeV, nEl3GeV, nEl10GeV;
- Float_t maxPt = .0, meanPt = .0, totalP = .0;
+ Float_t maxPt = .0, etamaxPt = -999., phimaxPt = -999., meanPt = .0, totalP = .0;
Int_t fVertexflag;
Int_t iRunNumber = 0;
TString fVertexName;
nCh1GeV = 0; nCh3GeV = 0; nCh10GeV = 0;
nMu1GeV = 0; nMu3GeV = 0; nMu10GeV = 0;
nEl1GeV = 0; nEl3GeV = 0; nEl10GeV = 0;
- maxPt = .0; meanPt = .0; totalP = .0;
+ maxPt = .0; etamaxPt = -999.; phimaxPt = -999.; meanPt = .0; totalP = .0;
fVertexflag = 1;
chain->GetEntry(iEventNumber);
Double_t fPt = TMath::Sqrt(pt2);
totalP += momentum;
meanPt += fPt;
- if(fPt > maxPt) maxPt = fPt;
+ if(fPt > maxPt) {
+ maxPt = fPt;
+ phimaxPt = esdTrack->Phi();
+ etamaxPt = esdTrack->Eta();
+ }
if(esdTrack->GetSign() > 0) {
nPos++;
evTag->SetTotalMomentum(totalP);
evTag->SetMeanPt(meanPt);
evTag->SetMaxPt(maxPt);
+ evTag->SetEtaMaxPt(etamaxPt);
+ evTag->SetPhiMaxPt(phimaxPt);
tag->SetRunId(iInitRunNumber);
if(fIsSim) tag->SetDataType(0);
Int_t nCh1GeV, nCh3GeV, nCh10GeV;
Int_t nMu1GeV, nMu3GeV, nMu10GeV;
Int_t nEl1GeV, nEl3GeV, nEl10GeV;
- Float_t maxPt = .0, meanPt = .0, totalP = .0;
+ Float_t maxPt = .0, etamaxPt = -999., phimaxPt = -999., meanPt = .0, totalP = .0;
Int_t fVertexflag;
Int_t iRunNumber = 0;
TString fVertexName;
nEl3GeV = 0;
nEl10GeV = 0;
maxPt = .0;
+ etamaxPt = -999.;
+ phimaxPt = -999.;
meanPt = .0;
totalP = .0;
fVertexflag = 1;
Double_t fPt = TMath::Sqrt(pt2);
totalP += momentum;
meanPt += fPt;
- if(fPt > maxPt) maxPt = fPt;
+ if(fPt > maxPt) {
+ maxPt = fPt;
+ etamaxPt = esdTrack->Eta();
+ phimaxPt = esdTrack->Phi();
+ }
+
if(esdTrack->GetSign() > 0) {
nPos++;
if(fPt > fLowPtCut) nCh1GeV++;
evTag->SetTotalMomentum(totalP);
evTag->SetMeanPt(meanPt);
evTag->SetMaxPt(maxPt);
+ evTag->SetEtaMaxPt(etamaxPt);
+ evTag->SetPhiMaxPt(phimaxPt);
tag->SetRunId(iInitRunNumber);
if(fIsSim) tag->SetDataType(0);
Int_t nCh1GeV, nCh3GeV, nCh10GeV;
Int_t nMu1GeV, nMu3GeV, nMu10GeV;
Int_t nEl1GeV, nEl3GeV, nEl10GeV;
- Float_t maxPt = .0, meanPt = .0, totalP = .0;
+ Float_t maxPt = .0, etamaxPt = -999, phimaxPt = -999., meanPt = .0, totalP = .0;
Int_t fVertexflag;
Int_t iRunNumber = 0;
TString fVertexName;
nEl3GeV = 0;
nEl10GeV = 0;
maxPt = .0;
+ etamaxPt = -999.;
+ phimaxPt = -999.;
meanPt = .0;
totalP = .0;
fVertexflag = 1;
Double_t fPt = TMath::Sqrt(pt2);
totalP += momentum;
meanPt += fPt;
- if(fPt > maxPt) maxPt = fPt;
+ if(fPt > maxPt) {
+ maxPt = fPt;
+ etamaxPt = esdTrack->Eta();
+ phimaxPt = esdTrack->Phi();
+ }
+
if(esdTrack->GetSign() > 0) {
nPos++;
evTag->SetTotalMomentum(totalP);
evTag->SetMeanPt(meanPt);
evTag->SetMaxPt(maxPt);
+ evTag->SetEtaMaxPt(etamaxPt);
+ evTag->SetPhiMaxPt(phimaxPt);
tag->SetRunId(iInitRunNumber);
if(fIsSim) tag->SetDataType(0);
Int_t nCh1GeV, nCh3GeV, nCh10GeV;
Int_t nMu1GeV, nMu3GeV, nMu10GeV;
Int_t nEl1GeV, nEl3GeV, nEl10GeV;
- Float_t maxPt = .0, meanPt = .0, totalP = .0;
+ Float_t maxPt = .0, etamaxPt = -999., phimaxPt = -999., meanPt = .0, totalP = .0;
Int_t fVertexflag;
Int_t iRunNumber = 0;
TString fVertexName("default");
nEl3GeV = 0;
nEl10GeV = 0;
maxPt = .0;
+ etamaxPt = -999.;
+ phimaxPt = -999.;
meanPt = .0;
totalP = .0;
fVertexflag = 0;
Double_t fPt = TMath::Sqrt(pt2);
totalP += momentum;
meanPt += fPt;
- if(fPt > maxPt) maxPt = fPt;
+ if(fPt > maxPt) {
+ maxPt = fPt;
+ phimaxPt = esdTrack->Eta();
+ etamaxPt = esdTrack->Phi();
+ }
if(esdTrack->GetSign() > 0) {
nPos++;
evTag->SetTotalMomentum(totalP);
evTag->SetMeanPt(meanPt);
evTag->SetMaxPt(maxPt);
+ evTag->SetEtaMaxPt(etamaxPt);
+ evTag->SetPhiMaxPt(phimaxPt);
tag->SetLHCTag(lhcLuminosity,lhcState);
tag->SetDetectorTag(detectorMask);
void SetTotalMomentum(Float_t P) {fTotalP = P;}
void SetMeanPt(Float_t Pt) {fMeanPt = Pt;}
void SetMaxPt(Float_t Pt) {fMaxPt = Pt;}
+ void SetEtaMaxPt(Float_t eta) {fEtaMaxPt = eta;}
+ void SetPhiMaxPt(Float_t phi) {fPhiMaxPt = phi;}
void SetNeutralTotalMomentum(Float_t f) {fTotalNeutralP = f;}
void SetNeutralMeanPt(Float_t f) {fMeanNeutralPt = f;}
void SetNeutralMaxPt(Float_t f) {fMaxNeutralPt = f;}
void SetMTotV0C(Int_t mult) {fMTotV0C = mult;}
void SetNbPMV0A(Short_t npmt) {fNbPMV0A = npmt;}
void SetNbPMV0C(Short_t npmt) {fNbPMV0C = npmt;}
-
+ void SetEventId(Int_t /*id*/) {;}
//____________________________________________________//
UInt_t GetPeriodNumber() const {return fPeriodNumber;}
UInt_t GetOrbitNumber() const {return fOrbitNumber;}
Float_t GetTotalMomentum() const {return fTotalP;}
Float_t GetMeanPt() const {return fMeanPt;}
Float_t GetMaxPt() const {return fMaxPt;}
+ Float_t GetEtaMaxPt() const {return fEtaMaxPt;}
+ Float_t GetPhiMaxPt() const {return fPhiMaxPt;}
Float_t GetNeutralTotalMomentum() const {return fTotalNeutralP;}
Float_t GetNeutralMeanPt() const {return fMeanNeutralPt;}
Float_t GetNeutralMaxPt() const {return fMaxNeutralPt;}
Float_t fTotalP; //Sum of the momentum per event
Float_t fMeanPt; //Mean Pt per event
Float_t fMaxPt; //Max Pt for each event
+ Float_t fEtaMaxPt; //Eta of the particle with max pt (leading particle)
+ Float_t fPhiMaxPt; //Phi of the particle with max pt (leading particle)
Float_t fTotalNeutralP; //Sum of the momentum per event for neutral
Float_t fMeanNeutralPt; //Mean Pt per event for neutral
Float_t fMaxNeutralPt; //Max Pt for each event for neutral
Short_t fNbPMV0A; //Total number of fired channels in V0 A side
Short_t fNbPMV0C; //Total number of fired channels in V0 C side
- ClassDef(AliEventTag,12) //(ClassName, ClassVersion)
- };
+ ClassDef(AliEventTag,13) //(ClassName, ClassVersion)
+ };
//___________________________________________________________________________