16 #include <TObjArray.h> 17 #include <TClonesArray.h> 23 #include "AliVertex.h" 24 #include "AliVVertex.h" 25 #include "AliESDVertex.h" 26 #include "AliESDEvent.h" 27 #include "AliVertexerTracks.h" 28 #include "AliAODEvent.h" 29 #include "AliAODTrack.h" 30 #include "AliMCEvent.h" 31 #include "AliAODMCParticle.h" 32 #include "AliExternalTrackParam.h" 37 #include "AliNeutralTrackParam.h" 60 fD0RPSigmaPullRatioP(0),
61 fD0RPSigmaPullRatioK(0),
62 fD0RPSigmaPullRatioPi(0),
63 fD0RPSigmaPullRatioE(0),
104 fRunInVertexing(kFALSE),
105 fImproveTracks(kTRUE),
106 fUpdateSecVertCovMat(kTRUE),
107 fUpdateSTCovMatrix(kTRUE),
119 for(
Int_t jh=0; jh<2; jh++){
120 for(
Int_t ih=0; ih<4; ih++){
136 const char *systematic,
213 for(
Int_t jh=0; jh<2; jh++){
214 for(
Int_t ih=0; ih<4; ih++){
226 TString resfileCurURI = Form(
"alien:///alice/cern.ch/user/p/pwg_hf/common/Improver/%s/%s/ITSgraphs_Current.root",period,systematic);
227 TFile *resfileCur=TFile::Open(resfileCurURI.Data());
229 if(resfileCur->Get(
"D0RPResP" )) {
232 if(resfileCur->Get(
"D0RPResK" )) {
235 if(resfileCur->Get(
"D0RPResPi")) {
238 if(resfileCur->Get(
"D0RPResE")) {
241 if(resfileCur->Get(
"D0RPSigmaPullRatioP" )) {
244 if(resfileCur->Get(
"D0RPSigmaPullRatioK" )) {
247 if(resfileCur->Get(
"D0RPSigmaPullRatioPi")) {
250 if(resfileCur->Get(
"D0RPSigmaPullRatioE")) {
253 for(
Int_t j=0; j<2; j++){
254 for(
Int_t i=0; i<4; i++){
255 if(resfileCur->Get(Form(
"D0RPMeanP_B%d_phi%d",j,i))) {
256 fD0RPMeanPCur[j][i]=(
TGraph*)(resfileCur->Get(Form(
"D0RPMeanP_B%d_phi%d",j,i))->Clone(Form(
"D0RPMeanPCur_B%d_phi%d",j,i)));
258 if(resfileCur->Get(Form(
"D0RPMeanK_B%d_phi%d",j,i))) {
259 fD0RPMeanKCur[j][i]=(
TGraph*)(resfileCur->Get(Form(
"D0RPMeanK_B%d_phi%d",j,i))->Clone(Form(
"D0RPMeanKCur_B%d_phi%d",j,i)));
261 if(resfileCur->Get(Form(
"D0RPMeanPi_B%d_phi%d",j,i))) {
262 fD0RPMeanPiCur[j][i]=(
TGraph*)(resfileCur->Get(Form(
"D0RPMeanPi_B%d_phi%d",j,i))->Clone(Form(
"D0RPMeanPiCur_B%d_phi%d",j,i)));
264 if(resfileCur->Get(Form(
"D0RPMeanE_B%d_phi%d",j,i))) {
265 fD0RPMeanECur[j][i]=(
TGraph*)(resfileCur->Get(Form(
"D0RPMeanE_B%d_phi%d",j,i))->Clone(Form(
"D0RPMeanECur_B%d_phi%d",j,i)));
269 if(resfileCur->Get(
"D0ZResP" )) {
272 if(resfileCur->Get(
"D0ZResK" )) {
275 if(resfileCur->Get(
"D0ZResPi" )) {
278 if(resfileCur->Get(
"D0ZResE" )) {
281 if(resfileCur->Get(
"Pt1ResP" )) {
284 if(resfileCur->Get(
"Pt1ResK" )) {
287 if(resfileCur->Get(
"Pt1ResPi" )) {
290 if(resfileCur->Get(
"Pt1ResE" )) {
293 if(resfileCur->Get(
"D0RPResPSA" )) {
296 if(resfileCur->Get(
"D0RPResKSA" )) {
299 if(resfileCur->Get(
"D0RPResPiSA")) {
302 if(resfileCur->Get(
"D0RPResESA")) {
305 if(resfileCur->Get(
"D0ZResPSA" )) {
308 if(resfileCur->Get(
"D0ZResKSA" )) {
311 if(resfileCur->Get(
"D0ZResPiSA" )) {
314 if(resfileCur->Get(
"D0ZResESA" )) {
317 if(resfileCur->Get(
"Pt1ResPSA" )) {
320 if(resfileCur->Get(
"Pt1ResKSA" )) {
323 if(resfileCur->Get(
"Pt1ResPiSA" )) {
326 if(resfileCur->Get(
"Pt1ResESA" )) {
332 TString resfileUpgURI = Form(
"alien:///alice/cern.ch/user/p/pwg_hf/common/Improver/%s/%s/ITSgraphs_NewAll-X0.3-Res4um.root",period,systematic);
333 TFile *resfileUpg=TFile::Open(resfileUpgURI.Data());
335 if(resfileUpg->Get(
"D0RPResP" )) {
338 if(resfileUpg->Get(
"D0RPResK" )) {
341 if(resfileUpg->Get(
"D0RPResPi")) {
344 if(resfileUpg->Get(
"D0RPResE")) {
347 for(
Int_t j=0; j<2; j++){
348 for(
Int_t i=0; i<4; i++){
349 if(resfileUpg->Get(Form(
"D0RPMeanP_B%d_phi%d",j,i))) {
350 fD0RPMeanPUpg[j][i]=(
TGraph*)(resfileUpg->Get(Form(
"D0RPMeanP_B%d_phi%d",j,i))->Clone(Form(
"D0RPMeanPUpg_B%d_phi%d",j,i)));
352 if(resfileUpg->Get(Form(
"D0RPMeanK_B%d_phi%d",j,i))) {
353 fD0RPMeanKUpg[j][i]=(
TGraph*)(resfileUpg->Get(Form(
"D0RPMeanK_B%d_phi%d",j,i))->Clone(Form(
"D0RPMeanKUpg_B%d_phi%d",j,i)));
355 if(resfileUpg->Get(Form(
"D0RPMeanPi_B%d_phi%d",j,i))) {
356 fD0RPMeanPiUpg[j][i]=(
TGraph*)(resfileUpg->Get(Form(
"D0RPMeanPi_B%d_phi%d",j,i))->Clone(Form(
"D0RPMeanPiUpg_B%d_phi%d",j,i)));
358 if(resfileUpg->Get(Form(
"D0RPMeanE_B%d_phi%d",j,i))) {
359 fD0RPMeanEUpg[j][i]=(
TGraph*)(resfileUpg->Get(Form(
"D0RPMeanE_B%d_phi%d",j,i))->Clone(Form(
"D0RPMeanEUpg_B%d_phi%d",j,i)));
363 if(resfileUpg->Get(
"D0ZResP" )) {
366 if(resfileUpg->Get(
"D0ZResK" )) {
369 if(resfileUpg->Get(
"D0ZResPi" )) {
372 if(resfileUpg->Get(
"D0ZResE" )) {
375 if(resfileUpg->Get(
"Pt1ResP" )) {
378 if(resfileUpg->Get(
"Pt1ResK" )) {
381 if(resfileUpg->Get(
"Pt1ResPi" )) {
384 if(resfileUpg->Get(
"Pt1ResE" )) {
387 if(resfileUpg->Get(
"D0RPResPSA" )) {
390 if(resfileUpg->Get(
"D0RPResKSA" )) {
393 if(resfileUpg->Get(
"D0RPResPiSA")) {
396 if(resfileUpg->Get(
"D0RPResESA")) {
399 if(resfileUpg->Get(
"D0ZResPSA" )) {
402 if(resfileUpg->Get(
"D0ZResKSA" )) {
405 if(resfileUpg->Get(
"D0ZResPiSA" )) {
408 if(resfileUpg->Get(
"D0ZResESA" )) {
411 if(resfileUpg->Get(
"Pt1ResPSA" )) {
414 if(resfileUpg->Get(
"Pt1ResKSA" )) {
417 if(resfileUpg->Get(
"Pt1ResPiSA" )) {
420 if(resfileUpg->Get(
"Pt1ResESA" )) {
426 DefineOutput(1,TList::Class());
443 fDebugNtuple=
new TNtuple(
"fDebugNtuple",
"Smearing",
"pdg:ptmc:d0rpo:d0zo:pt1o:sd0rpo:sd0zo:spt1o:d0rpn:d0zn:pt1n:sd0rpn:sd0zn:spt1n:d0rpmc:d0zmc:pt1mc:pullcorr:d0zoinsigma:d0zninsigma:d0rpoinsigma:d0rpninsigma");
456 for(
Int_t j=0; j<2; j++){
457 for(
Int_t i=0; i<4; i++){
504 if(AODEvent() && IsStandardAOD()) ev = dynamic_cast<AliAODEvent*> (AODEvent());
507 bz=ev->GetMagneticField();
512 AliError(
"event not found. Nothing done!");
515 bz=evesd->GetMagneticField();
525 TClonesArray *array2Prong=
static_cast<TClonesArray*
>(ev->GetList()->FindObject(
"D0toKpi"));
527 for (
Int_t icand=0;icand<array2Prong->GetEntries();++icand) {
533 TClonesArray *arrayCascade=
static_cast<TClonesArray*
>(ev->GetList()->FindObject(
"Dstar"));
535 for (
Int_t icand=0;icand<arrayCascade->GetEntries();++icand) {
541 TClonesArray *array3Prong=
static_cast<TClonesArray*
>(ev->GetList()->FindObject(
"Charm3Prong"));
543 for (
Int_t icand=0;icand<array3Prong->GetEntries();++icand) {
551 fMCs=
static_cast<TClonesArray*
>(ev->GetList()->FindObject(AliAODMCParticle::StdBranchName()));
554 for(
Int_t itrack=0;itrack<ev->GetNumberOfTracks();++itrack) {
555 AliAODTrack * trk =
dynamic_cast<AliAODTrack*
>(ev->GetTrack(itrack));
556 if(!trk) AliFatal(
"Not a standard AOD");
562 AliVVertex *primaryVertex=ev->GetPrimaryVertex();
568 for (
Int_t icand=0;icand<array2Prong->GetEntries();++icand) {
573 AliVVertex *oldSecondaryVertex=decay->GetSecondaryVtx();
576 AliExternalTrackParam et1; et1.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(0)));
577 AliExternalTrackParam et2; et2.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(1)));
581 ta12.Add(&et1); ta12.Add(&et2);
589 v12->GetCovMatrix(covpos);
590 decay->GetSecondaryVtx()->SetPosition(pos[0],pos[1],pos[2]);
592 decay->GetSecondaryVtx()->SetChi2perNDF(v12->GetChi2toNDF());
597 et1.PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
599 d0err[0] = TMath::Sqrt(covd0z0[0]);
600 et2.PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
602 d0err[1] = TMath::Sqrt(covd0z0[0]);
603 decay->Setd0Prongs(2,d0);
610 dca=et1.GetDCA(&et2,bz,xdummy,ydummy);
616 for (
Int_t i=0;i<2;++i) {
617 AliExternalTrackParam et;
618 et.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(i)));
619 et.PropagateToDCA(v12,bz,100.,d0z0,covd0z0);
624 decay->SetPxPyPzProngs(2,px,py,pz);
632 for (
Int_t icand=0;icand<arrayCascade->GetEntries();++icand) {
642 AliExternalTrackParam et3; et3.CopyFromVTrack(static_cast<AliAODTrack*>(decayDstar->
GetBachelor()));
645 AliNeutralTrackParam *trackD0 =
new AliNeutralTrackParam(decay);
654 et3.PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
656 d01err[0] = TMath::Sqrt(covd0z0[0]);
657 trackD0->PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
659 d01err[1] = TMath::Sqrt(covd0z0[0]);
660 decayDstar->Setd0Prongs(2,d01);
664 delete trackD0; trackD0=NULL;
668 for (
Int_t i=0;i<2;++i) {
669 const AliAODTrack *t1=
static_cast<AliAODTrack*
>(decayDstar->GetDaughter(i));
674 decayDstar->SetPxPyPzProngs(2,px1,py1,pz1);
682 for (
Int_t icand=0;icand<array3Prong->GetEntries();++icand) {
687 AliVVertex *oldSecondaryVertex=decay->GetSecondaryVtx();
688 AliExternalTrackParam et1; et1.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(0)));
689 AliExternalTrackParam et2; et2.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(1)));
690 AliExternalTrackParam et3; et3.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(2)));
692 ta123.Add(&et1);ta123.Add(&et2);ta123.Add(&et3);
693 ta12. Add(&et1);ta12 .Add(&et2);
694 ta23 .Add(&et2);ta23 .Add(&et3);
703 v123->GetCovMatrix(covpos);
704 decay->GetSecondaryVtx()->SetPosition(pos[0],pos[1],pos[2]);
706 decay->GetSecondaryVtx()->SetChi2perNDF(v123->GetChi2toNDF());
711 et1.PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
713 d0err[0] = TMath::Sqrt(covd0z0[0]);
714 et2.PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
716 d0err[1] = TMath::Sqrt(covd0z0[0]);
717 et3.PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
719 d0err[2] = TMath::Sqrt(covd0z0[0]);
720 decay->Setd0Prongs (3,d0 );
727 dca[0]=et1.GetDCA(&et2,bz,xdummy,ydummy);
728 dca[1]=et3.GetDCA(&et2,bz,xdummy,ydummy);
729 dca[2]=et1.GetDCA(&et3,bz,xdummy,ydummy);
730 decay->SetDCAs(3,dca);
733 Float_t sigmaV=v123->GetDispersion();
736 primaryVertex->GetXYZ(pos);
737 decay->
SetDist12toPrim(TMath::Sqrt((v12->GetX()-pos[0])*(v12->GetX()-pos[0])
738 +(v12->GetY()-pos[1])*(v12->GetY()-pos[1])
739 +(v12->GetZ()-pos[2])*(v12->GetZ()-pos[2])));
740 decay->
SetDist23toPrim(TMath::Sqrt((v23->GetX()-pos[0])*(v23->GetX()-pos[0])
741 +(v23->GetY()-pos[1])*(v23->GetY()-pos[1])
742 +(v23->GetZ()-pos[2])*(v23->GetZ()-pos[2])));
746 for (
Int_t i=0;i<3;++i) {
747 AliExternalTrackParam et;
748 et.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(i)));
749 et.PropagateToDCA(v123,bz,100.,d0z0,covd0z0);
754 decay->SetPxPyPzProngs(3,px,py,pz);
756 delete v123;
delete v12;
delete v23;
766 if (!fMCEvent)
return;
768 for(
Int_t itrack=0;itrack<evesd->GetNumberOfTracks();++itrack) {
769 AliESDtrack * trk =
dynamic_cast<AliESDtrack*
>(evesd->GetTrack(itrack));
770 if(!trk) AliFatal(
"No a standard ESD");
781 if (!(track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)))
785 if (TESTBIT(track->GetITSClusterMap(),7))
return;
790 AliExternalTrackParam et; et.CopyFromVTrack(track);
797 Int_t imc=track->GetLabel();
803 const AliVParticle *mc= 0x0;
805 mc =
dynamic_cast<AliVParticle*
>(
fMCs->At(imc));
808 mc =
dynamic_cast<AliVParticle*
>(fMCEvent->GetTrack(imc));
814 AliExternalTrackParam mct(mcx,mcp,mccv,mcc);
815 const Double_t *parammc=mct.GetParameter();
817 AliVertex vtx(mcx,1.,1);
822 et.PropagateToDCA(&vtx,track->GetBz(),10.);
823 et.Rotate(mct.GetAlpha());
830 if(bz<0.) magfield=0;
831 else if(bz>0.)magfield=1;
843 const AliAODMCParticle *amcpart =
static_cast<const AliAODMCParticle *
>(mc);
845 pdgcode = amcpart->GetPdgCode();
847 const AliMCParticle *emcpart =
static_cast<const AliMCParticle *
>(mc);
849 pdgcode = emcpart->PdgCode();
853 case 2212:
case -2212:
917 Double_t dd0zn =dd0zo *(sd0zo >0. ? (sd0zn /sd0zo ) : 1.);
920 Double_t dd0rpn=dd0rpo*(sd0rpo>0. ? (sd0rpn/sd0rpo) : 1.);
921 Double_t dd0mrpn=TMath::Abs(sd0mrpn)-TMath::Abs(sd0mrpo);
922 Double_t d0rpn =d0rpmc+dd0rpn-dd0mrpn;
924 if(covar[0] > 0.) d0zoinsigma = d0zo/TMath::Sqrt(covar[2]);
926 if(covar[2] > 0.) d0rpoinsigma = d0rpo/TMath::Sqrt(covar[0]);
929 dd0mrpn=sd0mrpn-sd0mrpo;
930 d0rpn =d0rpmc+dd0rpn+dd0mrpn;
934 Double_t dpt1n =dpt1o *(spt1o >0. ? (spt1n /spt1o ) : 1.);
942 if(sd0rpo>0.) covar[0]*=(sd0rpn/sd0rpo)*(sd0rpn/sd0rpo);
943 if(sd0zo>0. && sd0rpo>0.)covar[1]*=(sd0rpn/sd0rpo)*(sd0zn/sd0zo);
944 if(sd0zo>0.) covar[2]*=(sd0zn/sd0zo)*(sd0zn/sd0zo);
945 if(sd0rpo>0.) covar[3]*=(sd0rpn/sd0rpo);
946 if(sd0zo>0.) covar[4]*=(sd0zn/sd0zo);
947 if(sd0rpo>0.) covar[6]*=(sd0rpn/sd0rpo);
948 if(sd0zo>0.) covar[7]*=(sd0zn/sd0zo);
949 if(sd0rpo>0. && spt1o>0.)covar[10]*=(sd0rpn/sd0rpo)*(spt1n/spt1o);
950 if(sd0zo>0. && spt1o>0.) covar[11]*=(sd0zn/sd0zo)*(spt1n/spt1o);
951 if(spt1o>0.) covar[12]*=(spt1n/spt1o);
952 if(spt1o>0.) covar[13]*=(spt1n/spt1o);
953 if(spt1o>0.) covar[14]*=(spt1n/spt1o)*(spt1n/spt1o);
957 covar[0]*=pullcorr*pullcorr;
966 if(covar[0] > 0.) d0zninsigma = d0zn/TMath::Sqrt(covar[2]);
968 if(covar[2] > 0.) d0rpninsigma = d0rpn/TMath::Sqrt(covar[0]);
976 et.GetCovarianceXYZPxPyPz(cv);
978 AliAODTrack *aodtrack =
static_cast<AliAODTrack *
>(track);
979 aodtrack->SetPosition(x,kFALSE);
980 aodtrack->SetP(p,kTRUE);
981 aodtrack->SetCovMatrix(cv);
983 UChar_t itsClusterMap = aodtrack->GetITSClusterMap();
984 SETBIT(itsClusterMap,7);
985 aodtrack->SetITSClusterMap(itsClusterMap);
989 AliESDtrack *esdtrack =
static_cast<AliESDtrack *
>(track);
990 Short_t sign = esdtrack->Charge();
991 esdtrack->Set(x,p,cv,sign);
992 esdtrack->RelateToVVertex(InputEvent()->GetPrimaryVertex(), bz,100.);
994 UChar_t itsClusterMap = esdtrack->GetITSClusterMap();
995 SETBIT(itsClusterMap,7);
996 esdtrack->SetITSClusterMap(itsClusterMap);
1036 AliVertexerTracks vertexer(bField);
1037 vertexer.SetVtxStart(old->GetX(),old->GetY(),old->GetZ());
1038 AliESDVertex *vertex=vertexer.VertexForSelectedTracks(tracks,ids);
1049 if(!graph)
return 0.;
1052 Int_t n =graph->GetN();
1056 if(!graphSA)
return graph->Eval(xmin);
1057 Double_t xminSA=graphSA->GetX()[0];
1058 if(x<xminSA)
return graphSA->Eval(xminSA);
1059 return graphSA->Eval(x);
1061 if (x>xmax)
return graph->Eval(xmax);
1062 return graph->Eval(x);
1069 if(phi>2.*pi || phi<0.)
return -1;
1070 if((phi<=(pi/4.)) || (phi>7.*(pi/4.)))
return 0;
1071 if((phi>(pi/4.)) && (phi<=3.*(pi/4.)))
return 1;
1072 if((phi>3.*(pi/4.)) && (phi<=5.*(pi/4.)))
return 2;
1073 if((phi>(5.*pi/4.)) && (phi<=7.*(pi/4.)))
return 3;
TGraph * fD0RPMeanEUpg[2][4]
new pt dep. d0 mean in rphi for pions in 4 phi regions
TGraph * fPt1ResPiCur
old pt dep. 1/pt res. for kaons
TGraph * fD0RPMeanPUpg[2][4]
new pt dep. d0 res. in rphi for electrons
TGraph * fD0ZResPUpg
old pt dep. 1/pt res. for electrons
TGraph * fD0RPResKCur
old pt dep. d0 res. in rphi for protons
Bool_t fMimicData
flag to switch on/off the correction of the pulls
TGraph * fD0RPResPiUpgSA
new standalone pt dep. d0 res. in rphi for kaons
TGraph * fD0ZResKUpgSA
new standalone pt dep. d0 res. in z for protons
TGraph * fD0RPResPCurSA
old standalone pt dep. d0 res. in z for electrons
virtual void UserCreateOutputObjects()
Implementation of interface methods.
TGraph * fD0RPResPiCur
old pt dep. d0 res. in rphi for kaons
TGraph * fPt1ResKUpgSA
new standalone pt dep. 1/pt res. for protons
TGraph * fD0ZResPUpgSA
old standalone pt dep. 1/pt res. for electrons
TGraph * fD0RPMeanPiCur[2][4]
old pt dep. d0 mean. in rphi for kaons in 4 phi regions
Double_t EvalGraph(Double_t x, const TGraph *graph, const TGraph *graphSA=0) const
Helper functions.
TGraph * fD0RPMeanPiUpg[2][4]
new pt dep. d0 mean in rphi for kaons in 4 phi regions
Bool_t fUpdateSecVertCovMat
this is always kTRUE. kFALSE only if re-running on already improved AODs
TGraph * fD0ZResPiCurSA
old standalone pt dep. d0 res. in z for kaons
virtual void UserExec(Option_t *option)
TGraph * fD0RPMeanPCur[2][4]
pt dep. d0 sigma pull MC/data in rphi for electrons
Bool_t FillRecoCand(AliVEvent *event, AliAODRecoDecayHF3Prong *rd3)
TList * fDebugOutput
! collection of debug output
void SetDist12toPrim(Double_t d)
TGraph * fPt1ResPiUpg
new pt dep. 1/pt res. for kaons
TGraph * fPt1ResPCurSA
old standalone pt dep. d0 res. in rphi for electrons
TGraph * fPt1ResPiCurSA
old standalone pt dep. 1/pt res. for kaons
TGraph * fD0RPSigmaPullRatioE
pt dep. d0 sigma pull MC/data in rphi for pions
TGraph * fD0RPResECur
old pt dep. d0 res. in rphi for pions
Bool_t FillRecoCasc(AliVEvent *event, AliAODRecoCascadeHF *rc, Bool_t isDStar, Bool_t recoSecVtx=kFALSE)
TGraph * fPt1ResPUpg
new pt dep. d0 mean in rphi for electrons in 4 phi regions
TGraph * fD0RPResKCurSA
old standalone pt dep. d0 res. in rphi for protons
TGraph * fPt1ResECurSA
old standalone pt dep. 1/pt res. for pions
void SetDist23toPrim(Double_t d)
TGraph * fPt1ResKUpg
new pt dep. 1/pt res. for protons
TGraph * fPt1ResKCur
old pt dep. 1/pt res. for protons
TGraph * fD0RPResKUpgSA
new standalone pt dep. d0 res. in rphi for protons
TGraph * fPt1ResPUpgSA
new standalone pt dep. d0 res. in rphi for electrons
AliAnalysisTaskSEImproveITS()
virtual ~AliAnalysisTaskSEImproveITS()
TGraph * fPt1ResECur
old pt dep. 1/pt res. for pions
AliAODTrack * GetBachelor() const
TGraph * fD0RPSigmaPullRatioK
pt dep. d0 sigma pull MC/data in rphi for protons
TGraph * fD0RPResPiCurSA
old standalone pt dep. d0 res. in rphi for kaons
TGraph * fD0RPSigmaPullRatioP
old pt dep. d0 res. in rphi for electrons
TGraph * fD0ZResKCurSA
old standalone pt dep. d0 res. in z for protons
TGraph * fD0ZResPCurSA
new pt dep. 1/pt res. for electrons
void SmearTrack(AliVTrack *track, Double_t bz)
Float_t * fDebugVars
! variables to store as degug info
TGraph * fD0RPResPCur
old pt dep. d0 res. in z for electrons
Bool_t fRunInVertexing
new standalone pt dep. 1/pt res. for electrons
TGraph * fD0ZResEUpg
new pt dep. d0 res. in z for pions
TGraph * fPt1ResPiUpgSA
new standalone pt dep. 1/pt res. for kaons
TGraph * fPt1ResEUpgSA
new standalone pt dep. 1/pt res. for pions
TGraph * fD0RPResPUpgSA
new standalone pt dep. d0 res. in z for electrons
TGraph * fPt1ResKCurSA
old standalone pt dep. 1/pt res. for protons
TGraph * fD0ZResECurSA
old standalone pt dep. d0 res. in z for pions
TGraph * fPt1ResEUpg
new pt dep. 1/pt res. for pions
TGraph * fD0RPSigmaPullRatioPi
pt dep. d0 sigma pull MC/data in rphi for kaons
Bool_t fImproveTracks
flag to run hybrid task before the vertexingHF task or in standard mode
TGraph * fD0RPResECurSA
old standalone pt dep. d0 res. in rphi for pions
TGraph * fD0ZResKCur
old pt dep. d0 res. in z for protons
TGraph * fD0ZResEUpgSA
new standalone pt dep. d0 res. in z for pions
void Setd0errProngs(Int_t nprongs, Double_t *d0)
TGraph * fPt1ResPCur
old pt dep. d0 mean. in rphi for electrons in 4 phi regions
TGraph * fD0RPResPUpg
new pt dep. d0 res. in z for electrons
TGraph * fD0ZResECur
old pt dep. d0 res. in z for pions
Bool_t fUpdateSTCovMatrix
flag to swicth on/off the modification of the sec vert cov matrix
TGraph * fD0ZResPiUpg
new pt dep. d0 res. in z for kaons
TGraph * fD0ZResPiCur
old pt dep. d0 res. in z for kaons
Bool_t fUpdatePulls
flag to switch on/off the update of the single track covariance matrix
TGraph * fD0RPResEUpgSA
new standalone pt dep. d0 res. in rphi for pions
void SetSigmaVert(Double_t sigmaVert)
TGraph * fD0RPResEUpg
new pt dep. d0 res. in rphi for pions
AliAODRecoDecayHF2Prong * Get2Prong() const
TGraph * fD0ZResPiUpgSA
new standalone pt dep. d0 res. in z for kaons
TGraph * fD0RPResPiUpg
new pt dep. d0 res. in rphi for kaons
TGraph * fD0RPMeanKUpg[2][4]
new pt dep. d0 mean in rphi for protons in 4 phi regions
AliESDVertex * RecalculateVertex(const AliVVertex *old, TObjArray *tracks, Double_t bField)
TGraph * fD0RPMeanKCur[2][4]
old pt dep. d0 mean. in rphi for protons in 4 phi regions
TNtuple * fDebugNtuple
! debug send on output slot 1
Int_t PhiBin(Double_t phi) const
TGraph * fD0RPMeanECur[2][4]
old pt dep. d0 mean. in rphi for pions in 4 phi regions
TGraph * fD0RPResKUpg
new pt dep. d0 res. in rphi for protons
TGraph * fD0ZResKUpg
new pt dep. d0 res. in z for protons