// Creates the tags for all the events in a given ESD file
Bool_t fIsSim = kTRUE;
Int_t ntrack;
- Int_t nProtons, nKaons, nPions, nMuons, nElectrons, nFWMuons;
+ Int_t nProtons, nKaons, nPions, nMuons, nElectrons, nFWMuons, nFWMatchedMuons;
Int_t nPos, nNeg, nNeutr;
Int_t nK0s, nNeutrons, nPi0s, nGamas;
Int_t nCh1GeV, nCh3GeV, nCh10GeV;
ntrack = 0; nPos = 0; nNeg = 0; nNeutr =0;
nK0s = 0; nNeutrons = 0; nPi0s = 0;
nGamas = 0; nProtons = 0; nKaons = 0;
- nPions = 0; nMuons = 0; nElectrons = 0; nFWMuons = 0;
+ nPions = 0; nMuons = 0; nElectrons = 0; nFWMuons = 0; nFWMatchedMuons = 0;
nCh1GeV = 0; nCh3GeV = 0; nCh10GeV = 0;
nMu1GeV = 0; nMu3GeV = 0; nMu10GeV = 0;
nEl1GeV = 0; nEl3GeV = 0; nEl10GeV = 0;
fEnergy = TMath::Sqrt(fMUONMASS * fMUONMASS + fPxRec * fPxRec + fPyRec * fPyRec + fPzRec * fPzRec);
fEPvector.SetPxPyPzE(fPxRec, fPyRec, fPzRec, fEnergy);
- // total number of muons inside a vertex cut
- if((TMath::Abs(fZ)<fZVertexCut) && (TMath::Sqrt(fY*fY+fX*fX)<fRhoVertexCut)) {
- nMuons++;
- nFWMuons++;
- if(fEPvector.Pt() > fLowPtCut) {
- nMu1GeV++;
- if(fEPvector.Pt() > fHighPtCut) {
- nMu3GeV++;
- if (fEPvector.Pt() > fVeryHighPtCut) {
- nMu10GeV++;
- }
- }
- }
+ if (muonTrack->GetMatchTrigger()>0) nFWMatchedMuons++;
+
+ nMuons++;
+ nFWMuons++;
+ if(fEPvector.Pt() > fLowPtCut) {
+ nMu1GeV++;
+ if(fEPvector.Pt() > fHighPtCut) {
+ nMu3GeV++;
+ if (fEPvector.Pt() > fVeryHighPtCut) {
+ nMu10GeV++;
+ }
+ }
}
}//muon track loop
evTag->SetNumOfPions(nPions);
evTag->SetNumOfMuons(nMuons);
evTag->SetNumOfFWMuons(nFWMuons);
+ evTag->SetNumOfFWMatchedMuons(nFWMatchedMuons);
evTag->SetNumOfElectrons(nElectrons);
evTag->SetNumOfPhotons(nGamas);
evTag->SetNumOfPi0s(nPi0s);
// Creates the tags for all the events in a given ESD file
Bool_t fIsSim = kTRUE;
Int_t ntrack;
- Int_t nProtons, nKaons, nPions, nMuons, nElectrons, nFWMuons;
+ Int_t nProtons, nKaons, nPions, nMuons, nElectrons, nFWMuons, nFWMatchedMuons;
Int_t nPos, nNeg, nNeutr;
Int_t nK0s, nNeutrons, nPi0s, nGamas;
Int_t nCh1GeV, nCh3GeV, nCh10GeV;
nPions = 0;
nMuons = 0;
nFWMuons = 0;
+ nFWMatchedMuons = 0;
nElectrons = 0;
nCh1GeV = 0;
nCh3GeV = 0;
fEnergy = TMath::Sqrt(fMUONMASS * fMUONMASS + fPxRec * fPxRec + fPyRec * fPyRec + fPzRec * fPzRec);
fEPvector.SetPxPyPzE(fPxRec, fPyRec, fPzRec, fEnergy);
- // total number of muons inside a vertex cut
- if((TMath::Abs(fZ)<fZVertexCut) && (TMath::Sqrt(fY*fY+fX*fX)<fRhoVertexCut)) {
- nMuons++;
- nFWMuons++;
- if(fEPvector.Pt() > fLowPtCut) {
- nMu1GeV++;
- if(fEPvector.Pt() > fHighPtCut) {
- nMu3GeV++;
- if (fEPvector.Pt() > fVeryHighPtCut) {
- nMu10GeV++;
- }
- }
- }
+ if (muonTrack->GetMatchTrigger()>0) nFWMatchedMuons++;
+
+ nMuons++;
+ nFWMuons++;
+ if(fEPvector.Pt() > fLowPtCut) {
+ nMu1GeV++;
+ if(fEPvector.Pt() > fHighPtCut) {
+ nMu3GeV++;
+ if (fEPvector.Pt() > fVeryHighPtCut) {
+ nMu10GeV++;
+ }
+ }
}
}//muon track loop
evTag->SetNumOfPions(nPions);
evTag->SetNumOfMuons(nMuons);
evTag->SetNumOfFWMuons(nFWMuons);
+ evTag->SetNumOfFWMatchedMuons(nFWMatchedMuons);
evTag->SetNumOfElectrons(nElectrons);
evTag->SetNumOfPhotons(nGamas);
evTag->SetNumOfPi0s(nPi0s);
// Creates the tags for all the events in a given ESD file
Bool_t fIsSim = kTRUE;
Int_t ntrack;
- Int_t nProtons, nKaons, nPions, nMuons, nElectrons, nFWMuons;
+ Int_t nProtons, nKaons, nPions, nMuons, nElectrons, nFWMuons, nFWMatchedMuons;
Int_t nPos, nNeg, nNeutr;
Int_t nK0s, nNeutrons, nPi0s, nGamas;
Int_t nCh1GeV, nCh3GeV, nCh10GeV;
nPions = 0;
nMuons = 0;
nFWMuons = 0;
+ nFWMatchedMuons = 0;
nElectrons = 0;
nCh1GeV = 0;
nCh3GeV = 0;
fEnergy = TMath::Sqrt(fMUONMASS * fMUONMASS + fPxRec * fPxRec + fPyRec * fPyRec + fPzRec * fPzRec);
fEPvector.SetPxPyPzE(fPxRec, fPyRec, fPzRec, fEnergy);
- // total number of muons inside a vertex cut
- if((TMath::Abs(fZ)<fZVertexCut) && (TMath::Sqrt(fY*fY+fX*fX)<fRhoVertexCut)) {
- nMuons++;
- nFWMuons++;
- if(fEPvector.Pt() > fLowPtCut) {
- nMu1GeV++;
- if(fEPvector.Pt() > fHighPtCut) {
- nMu3GeV++;
- if (fEPvector.Pt() > fVeryHighPtCut) {
- nMu10GeV++;
- }
- }
- }
+ if (muonTrack->GetMatchTrigger()>0) nFWMatchedMuons++;
+
+ nMuons++;
+ nFWMuons++;
+ if(fEPvector.Pt() > fLowPtCut) {
+ nMu1GeV++;
+ if(fEPvector.Pt() > fHighPtCut) {
+ nMu3GeV++;
+ if (fEPvector.Pt() > fVeryHighPtCut) {
+ nMu10GeV++;
+ }
+ }
}
}//muon track loop
evTag->SetNumOfPions(nPions);
evTag->SetNumOfMuons(nMuons);
evTag->SetNumOfFWMuons(nFWMuons);
+ evTag->SetNumOfFWMatchedMuons(nFWMatchedMuons);
evTag->SetNumOfElectrons(nElectrons);
evTag->SetNumOfPhotons(nGamas);
evTag->SetNumOfPi0s(nPi0s);
// Creates the tags for all the events in a given ESD file
Int_t ntrack;
- Int_t nProtons, nKaons, nPions, nMuons, nElectrons, nFWMuons;
+ Int_t nProtons, nKaons, nPions, nMuons, nElectrons, nFWMuons, nFWMatchedMuons;
Int_t nPos, nNeg, nNeutr;
Int_t nK0s, nNeutrons, nPi0s, nGamas;
Int_t nCh1GeV, nCh3GeV, nCh10GeV;
nPions = 0;
nMuons = 0;
nFWMuons = 0;
+ nFWMatchedMuons = 0;
nElectrons = 0;
nCh1GeV = 0;
nCh3GeV = 0;
fEnergy = TMath::Sqrt(fMUONMASS * fMUONMASS + fPxRec * fPxRec + fPyRec * fPyRec + fPzRec * fPzRec);
fEPvector.SetPxPyPzE(fPxRec, fPyRec, fPzRec, fEnergy);
- // total number of muons inside a vertex cut
- if((TMath::Abs(fZ)<fZVertexCut) && (TMath::Sqrt(fY*fY+fX*fX)<fRhoVertexCut)) {
- nMuons++;
- nFWMuons++;
- if(fEPvector.Pt() > fLowPtCut) {
- nMu1GeV++;
- if(fEPvector.Pt() > fHighPtCut) {
- nMu3GeV++;
- if (fEPvector.Pt() > fVeryHighPtCut) {
- nMu10GeV++;
- }
- }
- }
+ if (muonTrack->GetMatchTrigger()>0) nFWMatchedMuons++;
+
+ nMuons++;
+ nFWMuons++;
+ if(fEPvector.Pt() > fLowPtCut) {
+ nMu1GeV++;
+ if(fEPvector.Pt() > fHighPtCut) {
+ nMu3GeV++;
+ if (fEPvector.Pt() > fVeryHighPtCut) {
+ nMu10GeV++;
+ }
+ }
}
}//muon track loop
evTag->SetNumOfPions(nPions);
evTag->SetNumOfMuons(nMuons);
evTag->SetNumOfFWMuons(nFWMuons);
+ evTag->SetNumOfFWMatchedMuons(nFWMatchedMuons);
evTag->SetNumOfElectrons(nElectrons);
evTag->SetNumOfPhotons(nGamas);
evTag->SetNumOfPi0s(nPi0s);
fNElectronsFlag(kFALSE),
fNFWMuonsMin(-1), fNFWMuonsMax(100000),
fNFWMuonsFlag(kFALSE),
+ fNFWMatchedMuonsMin(-1), fNFWMatchedMuonsMax(100000),
+ fNFWMatchedMuonsFlag(kFALSE),
fNMuonsMin(-1), fNMuonsMax(100000),
fNMuonsFlag(kFALSE),
fNPionsMin(-1), fNPionsMax(100000),
fNElectronsAbove10GeVFlag = kFALSE;
fNElectronsFlag = kFALSE;
fNFWMuonsFlag = kFALSE;
+ fNFWMatchedMuonsFlag = kFALSE;
fNMuonsFlag = kFALSE;
fNPionsFlag = kFALSE;
fNKaonsFlag = kFALSE;
fNElectronsAbove10GeVMin = -1; fNElectronsAbove10GeVMax = 100000;
fNElectronsMin = -1; fNElectronsMax = 100000;
fNFWMuonsMin = -1; fNFWMuonsMax = 100000;
+ fNFWMatchedMuonsMin = -1; fNFWMatchedMuonsMax = 100000;
fNMuonsMin = -1; fNMuonsMax = 100000;
fNPionsMin = -1; fNPionsMax = 100000;
fNKaonsMin = -1; fNKaonsMax = 100000;
fNFWMuonsFlag = kTRUE;
}
+//___________________________________________________________________________
+void AliEventTagCuts::SetNFWMatchedMuonRange(Int_t low, Int_t high) {
+ //Sets the forward trigger matched muon multiplicity range
+ //and the corresponding flag to kTRUE if the cut is used.
+ fNFWMatchedMuonsMin = low;
+ fNFWMatchedMuonsMax = high;
+ fNFWMatchedMuonsFlag = kTRUE;
+}
+
//___________________________________________________________________________
void AliEventTagCuts::SetNMuonRange(Int_t low, Int_t high) {
//Sets the muon multiplicity range
if((EvTag->GetNumOfFWMuons() < fNFWMuonsMin) || (EvTag->GetNumOfFWMuons() > fNFWMuonsMax))
return kFALSE;
+ if(fNFWMatchedMuonsFlag)
+ if((EvTag->GetNumOfFWMatchedMuons() < fNFWMatchedMuonsMin) || (EvTag->GetNumOfFWMatchedMuons() > fNFWMatchedMuonsMax))
+ return kFALSE;
+
if(fNMuonsFlag)
if((EvTag->GetNumOfMuons() < fNMuonsMin) || (EvTag->GetNumOfMuons() > fNMuonsMax))
return kFALSE;