#include "TParticle.h"
#include "TParticlePDG.h"
#include "TProfile.h"
-#include "TNtuple.h"
-#include "TFile.h"
#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"
: AliAnalysisTaskSE(name)
,fTrackType(0)
,fStandAlone(0)
+ ,fLow(0)
+ ,fHigh(100000)
,fFieldOn(kTRUE)
,fHists(0)
,fHistRECpt(0)
,fEta(0)
+ ,fEtaWidth(0)
+ ,fPhiWidth(0)
+ ,fDcaWidth(0)
+ ,fPtWidth(0)
,fEtaPhi(0)
,fEtaPt(0)
,fQPt(0)
,fDca(0)
,fqRec(0)
- ,fsigmaPt(0)
+ ,fSigmaPtHist(0)
,fRecPtPos(0)
,fRecPtNeg(0)
,fPhiRec(0)
,fThetaRec(0)
,fNumber(0)
+ ,fNumberAfterCut(0)
,fVx(0)
,fVy(0)
,fVz(0)
,fVertexX(0)
,fVertexY(0)
,fVertexZ(0)
- ,test(0)
-
+ ,fNVertexSPD(0)
+ ,fNVertexTracks(0)
,fRecDcaPosPhi(0)
,fRecDcaNegPhi(0)
,fRecPtPosPhi(0)
// ,fRecDcaPhiPtNegEtaNeg(0)
,fEtavPt(0)
+ ,fPhivPt(0)
+
,fCompareTPCparam(0)
+
,fITSlayer(0)
-
- ,sdca(0)
- ,xy(0)
- ,z(0)
- ,xvertexcor(0)
- ,yvertexcor(0)
-
+ ,fITSlayerEta(0)
+ ,fITSlayerPhi(0)
+
,fCuts(0)
{
fDcaSigmaNeg[i] =0;
}
+ for(Int_t i = 0;i< 3;i++){
+ for(Int_t j = 0;j< 2;j++){
+ fEtaBinPt[i][j]=0;
+ fPhiBinPt[i][j]=0;
+ fDcaBinPt[i][j]=0;
+ fEtaPhiBinPt[i][j]=0;
+ }
+ }
+
DefineOutput(1, TList::Class());
Double_t pt = 20.;
fHists = new TList();
- // test = new TNtuple("test","test",
- // "pt:phi:theta:x:y:z:charge");
+
fHistRECpt = new TH1F("fHistRECpt",
" p_{T}",
200, 0., pt);
fEta = new TH1F("fEta",
" #eta",
200, -2., 2.);
+ fEtaWidth = new TH1F("fEtaWidth",
+ " #eta",
+ 200, -2., 2.);
+ fPhiWidth = new TH1F("fPhiWidth",
+ " #phi",
+ 200, 0., 2*TMath::Pi());
+ fDcaWidth = new TH1F("fDcaWidth",
+ "dca",
+ 200, -range*(1+Int_t(fTrackType/2)*9), range*(1+Int_t(fTrackType/2)*9));
+ fPtWidth = new TH1F("fPtWidth",
+ "p_{T}",
+ 200, 0., pt);
fEtavPt = new TH2F("fEtavPt",
" #eta -p_{T}",
200, -2., 2.,
- 100, 0, 1.5);
+ 100, -3, 4);
+ fPhivPt = new TH2F("fPhivPt",
+ " #phi -p_{T}",
+ 200, 0, 2*TMath::Pi(),
+ 100, -3, 5);
fCompareTPCparam = new TH2F("fCompareTPCparam",
"fCompareTPCparam",
100, -1., 1.,100,-5, 5);
- fITSlayer = new TH1F("fITslayer",
- "fITslayer",
+ fITSlayer = new TH1F("fITSlayer",
+ "fITSlayer",
8, -1.5, 6.5);
-
+ fITSlayerEta = new TH2F("fITSlayerEta",
+ "fITSlayerEta",
+ 8, -1.5, 6.5, 200, -2.,2.);
+ fITSlayerPhi = new TH2F("fITSlayerPhi",
+ "fITSlayerPhi",
+ 8, -1.5, 6.5, 200, 0,2*TMath::Pi());
fEtaPhi = new TH2F("fEtaPhi",
" #eta - #phi",
200, -2., 2., 128, 0., 2. * TMath::Pi());
-
fThetaRec = new TH1F("fThetaRec",
" #theta",
180, 0., TMath::Pi());
180, 0., 2*TMath::Pi());
fNumber = new TH1F("fNumber",
"number of tracks per event",
- 200, -0.5, 199.5);
+ 300, -0.5, 299.5);
+ fNumberAfterCut = new TH1F("fNumberAfterCut",
+ "number of tracks per event after cuts",
+ 300, -0.5, 299.5);
fVx = new TH1F("fVx",
"X of first track point",
100, -1., 1.);
fVertexZ = new TH1F("fVertexZ",
"Z of vertex",
200, -50., 50.);
+ fNVertexSPD = new TH1F("fNVertexSPD",
+ "Number of SPD vertices",
+ 10, -0.5, 9.5);
+ fNVertexTracks = new TH1F("fNVertexTracks",
+ "Number of track vertices",
+ 10, -0.5, 9.5);
fEtaPt = new TH1F("fEtaPt",
" #eta/p_{T} ",
" charge all reconstructed particle",
21, -9.5, 10.5);
- fsigmaPt = new TH1F("fsigmaPt",
+ fSigmaPtHist = new TH1F("fSigmaPtHist",
"Log_{10}(#sigma_{p_{T}})",
200, -4., 8.);
fRecEtaNegLadder[i]->GetXaxis()->SetTitle("#eta");
}
- Double_t vzmax = 15;
+ Double_t vzmax = 15.;
fRecPtPosVz = new TH2F("fRecPtPosVz",
"p_{T} distribution vs Vz()",
// fRecDcaPhiPtNegEtaNeg->GetYaxis()->SetTitle("#phi (rad.)");
// fRecDcaPhiPtNegEtaNeg->GetXaxis()->SetTitle("p_{T} (GeV/c)");
-
+ TString charge[2];
+ charge[0]="Pos";
+ charge[1]="Neg";
+
+ for(Int_t i=0;i<3;i++){
+ for(Int_t j=0;j<2;j++){
+ fEtaBinPt[i][j] = new TH1F(Form("fEtaBinPt%d%s", i, charge[j].Data()),
+ "eta",
+ 200, -2., 2.);
+ fPhiBinPt[i][j] = new TH1F(Form("fPhiBinPt%d%s", i,charge[j].Data() ),
+ "phi",
+ 181, 0, 2*TMath::Pi());
+ fDcaBinPt[i][j] = new TH1F(Form("fDcaBinPt%d%s", i, charge[j].Data()),
+ "DCA",
+ 200,-range*(1+Int_t(fTrackType/2)*9),
+ range*(1+Int_t(fTrackType/2)*9) );
+ fEtaPhiBinPt[i][j]= new TH2F(Form("fEtaPhiBinPt%d%s", i, charge[j].Data()),
+ "eta-phi",
+ 200, -2., 2., 200, 0.,2*TMath::Pi());
+ }
+ }
fHists->SetOwner();
fHists->Add(fHistRECpt);
fHists->Add(fEta);
+ fHists->Add(fEtaWidth);
+ fHists->Add(fPhiWidth);
+ fHists->Add(fDcaWidth);
+ fHists->Add(fPtWidth);
fHists->Add(fEtavPt);
+ fHists->Add(fPhivPt);
fHists->Add(fCompareTPCparam);
fHists->Add(fITSlayer);
+ fHists->Add(fITSlayerEta);
+ fHists->Add(fITSlayerPhi);
fHists->Add(fEtaPhi);
fHists->Add(fThetaRec);
fHists->Add(fPhiRec);
fHists->Add(fNumber);
+ fHists->Add(fNumberAfterCut);
fHists->Add(fVx);
fHists->Add(fVy);
fHists->Add(fVz);
fHists->Add(fVertexX);
fHists->Add(fVertexY);
fHists->Add(fVertexZ);
+ fHists->Add(fNVertexSPD);
+ fHists->Add(fNVertexTracks);
fHists->Add(fEtaPt);
fHists->Add(fQPt);
fHists->Add(fDiffDcaD);
fHists->Add(fqRec);
- fHists->Add(fsigmaPt);
+ fHists->Add(fSigmaPtHist);
fHists->Add(fRecPtPos);
fHists->Add(fRecPtNeg);
// fHists->Add(fRecDcaPhiPtNegEtaPos);
// fHists->Add(fRecDcaPhiPtNegEtaNeg);
-
-
+ for(Int_t i=0;i<3;i++){
+ for(Int_t j=0;j<2;j++){
+ fHists->Add(fEtaBinPt[i][j]);
+ fHists->Add(fPhiBinPt[i][j]);
+ fHists->Add(fDcaBinPt[i][j]);
+ fHists->Add(fEtaPhiBinPt[i][j]);
+ }
+ }
// for (Int_t i=0; i<fHists->GetEntries(); ++i) {
// h1->Sumw2();
// }
// }
- // BKC
TH1::AddDirectory(oldStatus);
+ PostData(1, fHists);
+
}
//__________________________________________________________
void AliAnalysisTaskQASym::UserExec(Option_t *)
{
+ // QA of global, TPC, ITS and ITS stand alone tracks
+ // exploiting basic symmetries
+
AliVEvent *event = InputEvent();
if (!event) {
Printf("ERROR: Could not retrieve event");
Float_t leadingPhi = 0;//TMath::Pi();
- if(event->GetNumberOfTracks()!=0) fNumber->Fill(event->GetNumberOfTracks());
+ //check vertices
+ AliESDEvent* esd = dynamic_cast<AliESDEvent*>(event);
+ Int_t nPileSPDVertices=1+esd->GetNumberOfPileupVerticesSPD(); // also SPD main vertex
+ Int_t nPileTrkVertices=esd->GetNumberOfPileupVerticesTracks();
+ fNVertexSPD->Fill(nPileSPDVertices);
+ fNVertexTracks->Fill(nPileTrkVertices);
+
+ //check primary vertex
const AliVVertex* vertex = event->GetPrimaryVertex();
if(vertex->GetNContributors()==0) return;
Float_t vx = vertex->GetX();
if (TMath::Abs(vz) > 10.) return;
+ fNumber->Fill(event->GetNumberOfTracks());
+
AliESDtrack *tpcP = 0x0;
+ Int_t fNTracksAccepted=0;
+ Float_t phiArray [event->GetNumberOfTracks()];
+ Float_t etaArray [event->GetNumberOfTracks()];
+ Float_t ptArray [event->GetNumberOfTracks()];
+ Float_t dcaArray [event->GetNumberOfTracks()];
+ Int_t chargeArray[event->GetNumberOfTracks()];
+ Bool_t acceptedArray[event->GetNumberOfTracks()];
+
+ for (Int_t i = 0; i < event->GetNumberOfTracks(); i++) {
+ phiArray[i] = 0.;
+ etaArray[i] = 0.;
+ ptArray[i] = 0.;
+ dcaArray[i] = 0.;
+ chargeArray[i] = 0;
+ acceptedArray[i]= kFALSE;
+
+ }
+
+
for (Int_t iTrack = 0; iTrack < event->GetNumberOfTracks(); iTrack++) {
//__________
// run Task for global tracks or ITS tracks or TPC tracks
const AliExternalTrackParam *tpcPin = 0x0;
- Double_t phiIn=0;
+ Double_t phiIn=0.;
if(fTrackType==0){
//Fill all histograms with global tracks
if(fStandAlone==kTRUE) {
if(!(tpcP->GetStatus()&AliESDtrack::kITSpureSA))continue;
}
+ else if(fStandAlone==kFALSE){
+ if(tpcP->GetStatus()&AliESDtrack::kITSpureSA)continue;
+ }
}
else if(fTrackType==2){
//Fill all histograms with TPC track information
//___________
//
+
+ fNTracksAccepted++;
+ phiArray[iTrack] = phiIn;
+ etaArray[iTrack] = tpcP->Eta();
+ ptArray[iTrack] = tpcP->Pt();
+ chargeArray[iTrack] = tpcP->Charge();
+ acceptedArray[iTrack]= kTRUE;
+
if(tpcP->E()>leadingEnergy){
leadingTrack=iTrack;
fqRec->Fill(tpcP->Charge());
- Double_t sigmapt = tpcP->GetSigma1Pt2();
- sigmapt= sqrt(sigmapt);
- sigmapt= sigmapt *(tpcP->Pt()*tpcP->Pt());
+ Double_t fSigmaPt = tpcP->GetSigma1Pt2();
+ fSigmaPt= sqrt(fSigmaPt);
+ fSigmaPt= fSigmaPt *(tpcP->Pt()*tpcP->Pt());
- if(sigmapt == 0.)continue;
- fsigmaPt->Fill(TMath::Log10(sigmapt));
+ if(TMath::Abs(fSigmaPt) < 1.e-10) continue;
+
+ fSigmaPtHist->Fill(TMath::Log10(fSigmaPt));
// hits in ITS layer
//-------------------
+ Float_t fXVertexCor = 0.;
+ Float_t fYVertexCor = 0.;
- xvertexcor = tpcP->Xv() - vertex->GetX(); // coordinate corrected for vertex position
- yvertexcor = tpcP->Yv() - vertex->GetY(); // "
- sdca = (tpcP->Py()*xvertexcor - tpcP->Px()*yvertexcor)/tpcP->Pt();
+ fXVertexCor = tpcP->Xv() - vertex->GetX(); // coordinate corrected for vertex position
+ fYVertexCor = tpcP->Yv() - vertex->GetY(); // "
+ Double_t fSignedDca = (tpcP->Py()*fXVertexCor - tpcP->Px()*fYVertexCor)/tpcP->Pt();
fqPtRec[cas]->Fill(tpcP->Charge()/tpcP->Pt());
fHistRECpt->Fill(tpcP->Pt());
fEta->Fill(tpcP->Eta());
- fEtavPt->Fill(tpcP->Eta(), tpcP->Pt());
+ fEtavPt->Fill(tpcP->Eta(), TMath::Log(tpcP->Pt()));
+ fPhivPt->Fill(phiIn, TMath::Log(tpcP->Pt()));
fEtaPhi->Fill(tpcP->Eta(), phiIn);
fThetaRec->Fill(tpcP->Theta());
fPhiRec->Fill(phiIn);
fEtaPt->Fill(tpcP->Eta()/tpcP->Pt());
fQPt->Fill(tpcP->Charge()/tpcP->Pt());
- fDca->Fill(sdca);
+ fDca->Fill(fSignedDca);
+ dcaArray[iTrack]=fSignedDca;
fRecQPtPhi->Fill(tpcP->Charge()/tpcP->Pt(), phiIn);
+ Float_t fXY = 0.;
+ Float_t fZ = 0.;
- tpcP->GetImpactParameters(xy,z);
- fDiffDcaD->Fill(sdca+xy);
+ tpcP->GetImpactParameters(fXY,fZ);
+ fDiffDcaD->Fill(fSignedDca+fXY);
- if(fTrackType==2) fCompareTPCparam->Fill(z,tpcPin->GetTgl());
+ if(fTrackType==2) fCompareTPCparam->Fill(fZ,tpcPin->GetTgl());
if(fTrackType!=2){//for global and ITS tracks
for(Int_t itsLayer=0;itsLayer<6;itsLayer++){
if(tpcP->HasPointOnITSLayer(itsLayer)){
fITSlayer->Fill(itsLayer);
+ fITSlayerEta->Fill(itsLayer, tpcP->Eta());
+ fITSlayerPhi->Fill(itsLayer, tpcP->Phi());
}
}
}
fRecPhiPosLadder[cas]->Fill(TMath::RadToDeg()*phiIn);
fRecPhiPosVz->Fill(TMath::RadToDeg()*phiIn,tpcP->Zv());
- fSignedDcaPosVz->Fill(sdca,tpcP->Zv());
+ fSignedDcaPosVz->Fill(fSignedDca,tpcP->Zv());
fRecEtaPos->Fill(tpcP->Eta());
fRecEtaPosLadder[cas]->Fill(tpcP->Eta());
fRecEtaPosVz->Fill(tpcP->Eta(),tpcP->Zv());
fRecEtaPtPosVz->Fill(tpcP->Eta()/tpcP->Pt(),tpcP->Zv());
- fRecDcaPos->Fill(sdca);
- fRecDcaPosPhi->Fill(sdca, phiIn);
+ fRecDcaPos->Fill(fSignedDca);
+ fRecDcaPosPhi->Fill(fSignedDca, phiIn);
fRecPtPosPhi->Fill(TMath::Log10(tpcP->Pt()), phiIn);
fRecEtaPtPosPhi->Fill(tpcP->Eta()/tpcP->Pt(), phiIn);
fRecEtaPosPhi->Fill(tpcP->Eta(), phiIn);
- fRecDPos->Fill(xy);
- fSignDcaPos[cas]->Fill(sdca);
+ fRecDPos->Fill(fXY);
+ fSignDcaPos[cas]->Fill(fSignedDca);
- fDcaSigmaPos[cas]->Fill(sdca, TMath::Log10(sigmapt));
+ fDcaSigmaPos[cas]->Fill(fSignedDca, TMath::Log10(fSigmaPt));
- fPtSigmaPos[cas]->Fill(TMath::Log10(sigmapt));
+ fPtSigmaPos[cas]->Fill(TMath::Log10(fSigmaPt));
//pos eta
if(tpcP->Eta()>0){
fRecPtPosEtaPos->Fill(tpcP->Pt());
fRec1PtPosEtaPos->Fill(1/tpcP->Pt());
fRecPhiPosEtaPos->Fill(phiIn);
- fRecDcaPosPhiEtaPos->Fill(sdca, phiIn);
- fRecDcaPosPtEtaPos->Fill(sdca, TMath::Log10(tpcP->Pt()));
+ fRecDcaPosPhiEtaPos->Fill(fSignedDca, phiIn);
+ fRecDcaPosPtEtaPos->Fill(fSignedDca, TMath::Log10(tpcP->Pt()));
fRecPtPosPhiEtaPos->Fill(TMath::Log10(tpcP->Pt()), phiIn);
- //fRecDcaPhiPtPosEtaPos->Fill(phiIn, tpcP->Pt(), sdca);
+ //fRecDcaPhiPtPosEtaPos->Fill(phiIn, tpcP->Pt(), fSignedDca);
}
//neg eta
else{
fRecPtPosEtaNeg->Fill(tpcP->Pt());
fRec1PtPosEtaNeg->Fill(1/tpcP->Pt());
fRecPhiPosEtaNeg->Fill(phiIn);
- fRecDcaPosPhiEtaNeg->Fill(sdca, phiIn);
- fRecDcaPosPtEtaNeg->Fill(sdca, TMath::Log10(tpcP->Pt()));
+ fRecDcaPosPhiEtaNeg->Fill(fSignedDca, phiIn);
+ fRecDcaPosPtEtaNeg->Fill(fSignedDca, TMath::Log10(tpcP->Pt()));
fRecPtPosPhiEtaNeg->Fill(TMath::Log10(tpcP->Pt()), phiIn);
- //fRecDcaPhiPtPosEtaNeg->Fill(phiIn, tpcP->Pt(), sdca);
+ //fRecDcaPhiPtPosEtaNeg->Fill(phiIn, tpcP->Pt(), fSignedDca);
}
}
fRecPhiNeg->Fill(TMath::RadToDeg()*phiIn);
fRecPhiNegLadder[cas]->Fill(TMath::RadToDeg()*phiIn);
fRecPhiNegVz->Fill(TMath::RadToDeg()*phiIn,tpcP->Zv());
- fSignedDcaNegVz->Fill(sdca,tpcP->Zv());
+ fSignedDcaNegVz->Fill(fSignedDca,tpcP->Zv());
fRecEtaPtNegVz->Fill(tpcP->Eta()/tpcP->Pt(),tpcP->Zv());
fRecEtaNeg->Fill(tpcP->Eta());
fRecEtaPtNeg->Fill(tpcP->Eta()/tpcP->Pt());
fRecEtaNegVz->Fill(tpcP->Eta(),tpcP->Zv());
- fRecDcaNeg->Fill(sdca);
- fRecDcaNegInv->Fill(-sdca);
- fRecDcaNegPhi->Fill(sdca, phiIn);
+ fRecDcaNeg->Fill(fSignedDca);
+ fRecDcaNegInv->Fill(-fSignedDca);
+ fRecDcaNegPhi->Fill(fSignedDca, phiIn);
fRecPtNegPhi->Fill(TMath::Log10(tpcP->Pt()), phiIn);
fRecEtaNegPhi->Fill(tpcP->Eta(), phiIn);
fRecEtaPtNegPhi->Fill(tpcP->Eta()/tpcP->Pt(), phiIn);
- fRecDNeg->Fill(xy);
- fSignDcaNeg[cas]->Fill(sdca);
- fSignDcaNegInv[cas]->Fill(-sdca);
+ fRecDNeg->Fill(fXY);
+ fSignDcaNeg[cas]->Fill(fSignedDca);
+ fSignDcaNegInv[cas]->Fill(-fSignedDca);
- fDcaSigmaNeg[cas]->Fill(sdca,TMath::Log10(sigmapt));
+ fDcaSigmaNeg[cas]->Fill(fSignedDca,TMath::Log10(fSigmaPt));
- fPtSigmaNeg[cas]->Fill(TMath::Log10(sigmapt));
+ fPtSigmaNeg[cas]->Fill(TMath::Log10(fSigmaPt));
//pos eta
if(tpcP->Eta()>0){
fRecPtNegEtaPos->Fill(tpcP->Pt());
fRec1PtNegEtaPos->Fill(1/tpcP->Pt());
fRecPhiNegEtaPos->Fill(phiIn);
- fRecDcaNegPhiEtaPos->Fill(sdca, phiIn);
- fRecDcaNegPtEtaPos->Fill(sdca, TMath::Log10(tpcP->Pt()));
+ fRecDcaNegPhiEtaPos->Fill(fSignedDca, phiIn);
+ fRecDcaNegPtEtaPos->Fill(fSignedDca, TMath::Log10(tpcP->Pt()));
fRecPtNegPhiEtaPos->Fill(TMath::Log10(tpcP->Pt()), phiIn);
- //fRecDcaPhiPtNegEtaPos->Fill(phiIn, tpcP->Pt(), sdca);
+ //fRecDcaPhiPtNegEtaPos->Fill(phiIn, tpcP->Pt(), fSignedDca);
}
//neg eta
else{
fRecPtNegEtaNeg->Fill(tpcP->Pt());
fRec1PtNegEtaNeg->Fill(1/tpcP->Pt());
fRecPhiNegEtaNeg->Fill(phiIn);
- fRecDcaNegPhiEtaNeg->Fill(sdca, phiIn);
- fRecDcaNegPtEtaNeg->Fill(sdca, TMath::Log10(tpcP->Pt()));
+ fRecDcaNegPhiEtaNeg->Fill(fSignedDca, phiIn);
+ fRecDcaNegPtEtaNeg->Fill(fSignedDca, TMath::Log10(tpcP->Pt()));
fRecPtNegPhiEtaNeg->Fill(TMath::Log10(tpcP->Pt()), phiIn);
- //fRecDcaPhiPtNegEtaNeg->Fill(phiIn, tpcP->Pt(), sdca);
+ //fRecDcaPhiPtNegEtaNeg->Fill(phiIn, tpcP->Pt(), fSignedDca);
}
}
fRecPtPosEta->Fill(tpcP->Pt());
fRecPhiPosEta->Fill(TMath::RadToDeg()*phiIn);
fRecQPtPosEtaVz->Fill(tpcP->Charge()/tpcP->Pt(),tpcP->Zv());
- fRecDcaPosEta->Fill(sdca);
- fRecDPosEta->Fill(xy);
+ fRecDcaPosEta->Fill(fSignedDca);
+ fRecDPosEta->Fill(fXY);
}
//all particles with negative eta (and eta==0)
else{
fRecPtNegEta->Fill(tpcP->Pt());
fRecPhiNegEta->Fill(TMath::RadToDeg()*phiIn);
fRecQPtNegEtaVz->Fill(tpcP->Charge()/tpcP->Pt(),tpcP->Zv());
- fRecDcaNegEta->Fill(sdca);
- fRecDNegEta->Fill(xy);
+ fRecDcaNegEta->Fill(fSignedDca);
+ fRecDNegEta->Fill(fXY);
}
fRecEtaTpcSector[Int_t(phiIn*
TMath::RadToDeg()/20)]->Fill(tpcP->Eta());
fSignedDcaTpcSector[Int_t(phiIn*
- TMath::RadToDeg()/20)]->Fill(sdca);
+ TMath::RadToDeg()/20)]->Fill(fSignedDca);
fRecQPtTpcSector[Int_t(phiIn*
TMath::RadToDeg()/20)]->Fill(tpcP->Charge()/tpcP->Pt());
fRecEtaPtTpcSector[Int_t(phiIn*
}//first track loop
+ fNumberAfterCut->Fill(fNTracksAccepted);
+
+ //second track loop
+
+ for (Int_t iT = 0; iT < event->GetNumberOfTracks(); iT++) {
+ if(acceptedArray[iT]){
+ if(ptArray[iT]>0.2 && ptArray[iT]<1. ){
+ fEtaBinPt[0][Bool_t(chargeArray[iT]>0)]->Fill(etaArray[iT]);
+ fDcaBinPt[0][Bool_t(chargeArray[iT]>0)]->Fill(dcaArray[iT]);
+ fPhiBinPt[0][Bool_t(chargeArray[iT]>0)]->Fill(phiArray[iT]);
+ fEtaPhiBinPt[0][Bool_t(chargeArray[iT]>0)]->Fill(etaArray[iT], phiArray[iT]);
+ }
+ else if(ptArray[iT]>1. && ptArray[iT]<5.){
+ fEtaBinPt[1][Bool_t(chargeArray[iT]>0)]->Fill(etaArray[iT]);
+ fDcaBinPt[1][Bool_t(chargeArray[iT]>0)]->Fill(dcaArray[iT]);
+ fPhiBinPt[1][Bool_t(chargeArray[iT]>0)]->Fill(phiArray[iT]);
+ fEtaPhiBinPt[1][Bool_t(chargeArray[iT]>0)]->Fill(etaArray[iT], phiArray[iT]);
+ }
+ else if (ptArray[iT]>5.){
+ fEtaBinPt[2][Bool_t(chargeArray[iT]>0)]->Fill(etaArray[iT]);
+ fDcaBinPt[2][Bool_t(chargeArray[iT]>0)]->Fill(dcaArray[iT]);
+ fPhiBinPt[2][Bool_t(chargeArray[iT]>0)]->Fill(phiArray[iT]);
+ fEtaPhiBinPt[2][Bool_t(chargeArray[iT]>0)]->Fill(etaArray[iT], phiArray[iT]);
+ }
+
+ if(fNTracksAccepted>=fLow&&fNTracksAccepted<=fHigh){
+ fEtaWidth->Fill(etaArray[iT]);
+ fPhiWidth->Fill(phiArray[iT]);
+ fDcaWidth->Fill(dcaArray[iT]);
+ fPtWidth->Fill(ptArray[iT]);
+ }
+ }
+ }
+
+
//prevent mem leak for TPConly track
if(fTrackType==2&&tpcP){
delete tpcP;