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" )) {
233 if(resfileCur->Get(
"D0RPResK" )) {
237 if(resfileCur->Get(
"D0RPResPi")) {
241 if(resfileCur->Get(
"D0RPResE")) {
245 if(resfileCur->Get(
"D0RPSigmaPullRatioP" )) {
248 if(resfileCur->Get(
"D0RPSigmaPullRatioK" )) {
251 if(resfileCur->Get(
"D0RPSigmaPullRatioPi")) {
254 if(resfileCur->Get(
"D0RPSigmaPullRatioE")) {
257 for(
Int_t j=0; j<2; j++){
258 for(
Int_t i=0; i<4; i++){
259 if(resfileCur->Get(Form(
"D0RPMeanP_B%d_phi%d",j,i))) {
260 fD0RPMeanPCur[j][i]=
new TGraph(*static_cast<TGraph*>(resfileCur->Get(Form(
"D0RPMeanP_B%d_phi%d",j,i))));
261 fD0RPMeanPCur[j][i]->SetName(Form(
"D0RPMeanPCur_B%d_phi%d",j,i));
263 if(resfileCur->Get(Form(
"D0RPMeanK_B%d_phi%d",j,i))) {
264 fD0RPMeanKCur[j][i]=
new TGraph(*static_cast<TGraph*>(resfileCur->Get(Form(
"D0RPMeanK_B%d_phi%d",j,i))));
265 fD0RPMeanKCur[j][i]->SetName(Form(
"D0RPMeanKCur_B%d_phi%d",j,i));
267 if(resfileCur->Get(Form(
"D0RPMeanPi_B%d_phi%d",j,i))) {
268 fD0RPMeanPiCur[j][i]=
new TGraph(*static_cast<TGraph*>(resfileCur->Get(Form(
"D0RPMeanPi_B%d_phi%d",j,i))));
269 fD0RPMeanPiCur[j][i]->SetName(Form(
"D0RPMeanPiCur_B%d_phi%d",j,i));
271 if(resfileCur->Get(Form(
"D0RPMeanE_B%d_phi%d",j,i))) {
272 fD0RPMeanECur[j][i]=
new TGraph(*static_cast<TGraph*>(resfileCur->Get(Form(
"D0RPMeanE_B%d_phi%d",j,i))));
273 fD0RPMeanECur[j][i]->SetName(Form(
"D0RPMeanECur_B%d_phi%d",j,i));
277 if(resfileCur->Get(
"D0ZResP" )) {
281 if(resfileCur->Get(
"D0ZResK" )) {
285 if(resfileCur->Get(
"D0ZResPi" )) {
289 if(resfileCur->Get(
"D0ZResE" )) {
293 if(resfileCur->Get(
"Pt1ResP" )) {
297 if(resfileCur->Get(
"Pt1ResK" )) {
301 if(resfileCur->Get(
"Pt1ResPi" )) {
305 if(resfileCur->Get(
"Pt1ResE" )) {
309 if(resfileCur->Get(
"D0RPResPSA" )) {
313 if(resfileCur->Get(
"D0RPResKSA" )) {
317 if(resfileCur->Get(
"D0RPResPiSA")) {
321 if(resfileCur->Get(
"D0RPResESA")) {
325 if(resfileCur->Get(
"D0ZResPSA" )) {
329 if(resfileCur->Get(
"D0ZResKSA" )) {
333 if(resfileCur->Get(
"D0ZResPiSA" )) {
337 if(resfileCur->Get(
"D0ZResESA" )) {
341 if(resfileCur->Get(
"Pt1ResPSA" )) {
345 if(resfileCur->Get(
"Pt1ResKSA" )) {
349 if(resfileCur->Get(
"Pt1ResPiSA" )) {
353 if(resfileCur->Get(
"Pt1ResESA" )) {
360 TString resfileUpgURI = Form(
"alien:///alice/cern.ch/user/p/pwg_hf/common/Improver/%s/%s/ITSgraphs_NewAll-X0.3-Res4um.root",period,systematic);
361 TFile *resfileUpg=TFile::Open(resfileUpgURI.Data());
363 if(resfileUpg->Get(
"D0RPResP" )) {
367 if(resfileUpg->Get(
"D0RPResK" )) {
371 if(resfileUpg->Get(
"D0RPResPi")) {
375 if(resfileUpg->Get(
"D0RPResE")) {
379 for(
Int_t j=0; j<2; j++){
380 for(
Int_t i=0; i<4; i++){
381 if(resfileUpg->Get(Form(
"D0RPMeanP_B%d_phi%d",j,i))) {
382 fD0RPMeanPUpg[j][i]=
new TGraph(*static_cast<TGraph*>(resfileUpg->Get(Form(
"D0RPMeanP_B%d_phi%d",j,i))));
383 fD0RPMeanPUpg[j][i]->SetName(Form(
"D0RPMeanPUpg_B%d_phi%d",j,i));
385 if(resfileUpg->Get(Form(
"D0RPMeanK_B%d_phi%d",j,i))) {
386 fD0RPMeanKUpg[j][i]=
new TGraph(*static_cast<TGraph*>(resfileUpg->Get(Form(
"D0RPMeanK_B%d_phi%d",j,i))));
387 fD0RPMeanKUpg[j][i]->SetName(Form(
"D0RPMeanKUpg_B%d_phi%d",j,i));
389 if(resfileUpg->Get(Form(
"D0RPMeanPi_B%d_phi%d",j,i))) {
390 fD0RPMeanPiUpg[j][i]=
new TGraph(*static_cast<TGraph*>(resfileUpg->Get(Form(
"D0RPMeanPi_B%d_phi%d",j,i))));
391 fD0RPMeanPiUpg[j][i]->SetName(Form(
"D0RPMeanPiUpg_B%d_phi%d",j,i));
393 if(resfileUpg->Get(Form(
"D0RPMeanE_B%d_phi%d",j,i))) {
394 fD0RPMeanEUpg[j][i]=
new TGraph(*static_cast<TGraph*>(resfileUpg->Get(Form(
"D0RPMeanE_B%d_phi%d",j,i))));
395 fD0RPMeanEUpg[j][i]->SetName(Form(
"D0RPMeanEUpg_B%d_phi%d",j,i));
399 if(resfileUpg->Get(
"D0ZResP" )) {
403 if(resfileUpg->Get(
"D0ZResK" )) {
407 if(resfileUpg->Get(
"D0ZResPi" )) {
411 if(resfileUpg->Get(
"D0ZResE" )) {
415 if(resfileUpg->Get(
"Pt1ResP" )) {
419 if(resfileUpg->Get(
"Pt1ResK" )) {
423 if(resfileUpg->Get(
"Pt1ResPi" )) {
427 if(resfileUpg->Get(
"Pt1ResE" )) {
431 if(resfileUpg->Get(
"D0RPResPSA" )) {
435 if(resfileUpg->Get(
"D0RPResKSA" )) {
439 if(resfileUpg->Get(
"D0RPResPiSA")) {
443 if(resfileUpg->Get(
"D0RPResESA")) {
447 if(resfileUpg->Get(
"D0ZResPSA" )) {
451 if(resfileUpg->Get(
"D0ZResKSA" )) {
455 if(resfileUpg->Get(
"D0ZResPiSA" )) {
459 if(resfileUpg->Get(
"D0ZResESA" )) {
463 if(resfileUpg->Get(
"Pt1ResPSA" )) {
467 if(resfileUpg->Get(
"Pt1ResKSA" )) {
471 if(resfileUpg->Get(
"Pt1ResPiSA" )) {
475 if(resfileUpg->Get(
"Pt1ResESA" )) {
482 DefineOutput(1,TNtuple::Class());
498 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");
511 for(
Int_t j=0; j<2; j++){
512 for(
Int_t i=0; i<4; i++){
559 if(AODEvent() && IsStandardAOD()) ev = dynamic_cast<AliAODEvent*> (AODEvent());
562 bz=ev->GetMagneticField();
567 AliError(
"event not found. Nothing done!");
570 bz=evesd->GetMagneticField();
580 TClonesArray *array2Prong=
static_cast<TClonesArray*
>(ev->GetList()->FindObject(
"D0toKpi"));
582 for (
Int_t icand=0;icand<array2Prong->GetEntries();++icand) {
588 TClonesArray *arrayCascade=
static_cast<TClonesArray*
>(ev->GetList()->FindObject(
"Dstar"));
590 for (
Int_t icand=0;icand<arrayCascade->GetEntries();++icand) {
596 TClonesArray *array3Prong=
static_cast<TClonesArray*
>(ev->GetList()->FindObject(
"Charm3Prong"));
598 for (
Int_t icand=0;icand<array3Prong->GetEntries();++icand) {
606 fMCs=
static_cast<TClonesArray*
>(ev->GetList()->FindObject(AliAODMCParticle::StdBranchName()));
609 for(
Int_t itrack=0;itrack<ev->GetNumberOfTracks();++itrack) {
610 AliAODTrack * trk =
dynamic_cast<AliAODTrack*
>(ev->GetTrack(itrack));
611 if(!trk) AliFatal(
"Not a standard AOD");
617 AliVVertex *primaryVertex=ev->GetPrimaryVertex();
623 for (
Int_t icand=0;icand<array2Prong->GetEntries();++icand) {
628 AliVVertex *oldSecondaryVertex=decay->GetSecondaryVtx();
631 AliExternalTrackParam et1; et1.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(0)));
632 AliExternalTrackParam et2; et2.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(1)));
636 ta12.Add(&et1); ta12.Add(&et2);
644 v12->GetCovMatrix(covpos);
645 decay->GetSecondaryVtx()->SetPosition(pos[0],pos[1],pos[2]);
647 decay->GetSecondaryVtx()->SetChi2perNDF(v12->GetChi2toNDF());
652 et1.PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
654 d0err[0] = TMath::Sqrt(covd0z0[0]);
655 et2.PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
657 d0err[1] = TMath::Sqrt(covd0z0[0]);
658 decay->Setd0Prongs(2,d0);
665 dca=et1.GetDCA(&et2,bz,xdummy,ydummy);
671 for (
Int_t i=0;i<2;++i) {
672 AliExternalTrackParam et;
673 et.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(i)));
674 et.PropagateToDCA(v12,bz,100.,d0z0,covd0z0);
679 decay->SetPxPyPzProngs(2,px,py,pz);
687 for (
Int_t icand=0;icand<arrayCascade->GetEntries();++icand) {
697 AliExternalTrackParam et3; et3.CopyFromVTrack(static_cast<AliAODTrack*>(decayDstar->
GetBachelor()));
700 AliNeutralTrackParam *trackD0 =
new AliNeutralTrackParam(decay);
709 et3.PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
711 d01err[0] = TMath::Sqrt(covd0z0[0]);
712 trackD0->PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
714 d01err[1] = TMath::Sqrt(covd0z0[0]);
715 decayDstar->Setd0Prongs(2,d01);
719 delete trackD0; trackD0=NULL;
723 for (
Int_t i=0;i<2;++i) {
724 const AliAODTrack *t1=
static_cast<AliAODTrack*
>(decayDstar->GetDaughter(i));
729 decayDstar->SetPxPyPzProngs(2,px1,py1,pz1);
737 for (
Int_t icand=0;icand<array3Prong->GetEntries();++icand) {
742 AliVVertex *oldSecondaryVertex=decay->GetSecondaryVtx();
743 AliExternalTrackParam et1; et1.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(0)));
744 AliExternalTrackParam et2; et2.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(1)));
745 AliExternalTrackParam et3; et3.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(2)));
747 ta123.Add(&et1);ta123.Add(&et2);ta123.Add(&et3);
748 ta12. Add(&et1);ta12 .Add(&et2);
749 ta23 .Add(&et2);ta23 .Add(&et3);
758 v123->GetCovMatrix(covpos);
759 decay->GetSecondaryVtx()->SetPosition(pos[0],pos[1],pos[2]);
761 decay->GetSecondaryVtx()->SetChi2perNDF(v123->GetChi2toNDF());
766 et1.PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
768 d0err[0] = TMath::Sqrt(covd0z0[0]);
769 et2.PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
771 d0err[1] = TMath::Sqrt(covd0z0[0]);
772 et3.PropagateToDCA(primaryVertex,bz,100.,d0z0,covd0z0);
774 d0err[2] = TMath::Sqrt(covd0z0[0]);
775 decay->Setd0Prongs (3,d0 );
782 dca[0]=et1.GetDCA(&et2,bz,xdummy,ydummy);
783 dca[1]=et3.GetDCA(&et2,bz,xdummy,ydummy);
784 dca[2]=et1.GetDCA(&et3,bz,xdummy,ydummy);
785 decay->SetDCAs(3,dca);
788 Float_t sigmaV=v123->GetDispersion();
791 primaryVertex->GetXYZ(pos);
792 decay->
SetDist12toPrim(TMath::Sqrt((v12->GetX()-pos[0])*(v12->GetX()-pos[0])
793 +(v12->GetY()-pos[1])*(v12->GetY()-pos[1])
794 +(v12->GetZ()-pos[2])*(v12->GetZ()-pos[2])));
795 decay->
SetDist23toPrim(TMath::Sqrt((v23->GetX()-pos[0])*(v23->GetX()-pos[0])
796 +(v23->GetY()-pos[1])*(v23->GetY()-pos[1])
797 +(v23->GetZ()-pos[2])*(v23->GetZ()-pos[2])));
801 for (
Int_t i=0;i<3;++i) {
802 AliExternalTrackParam et;
803 et.CopyFromVTrack(static_cast<AliAODTrack*>(decay->GetDaughter(i)));
804 et.PropagateToDCA(v123,bz,100.,d0z0,covd0z0);
809 decay->SetPxPyPzProngs(3,px,py,pz);
811 delete v123;
delete v12;
delete v23;
821 if (!fMCEvent)
return;
823 for(
Int_t itrack=0;itrack<evesd->GetNumberOfTracks();++itrack) {
824 AliESDtrack * trk =
dynamic_cast<AliESDtrack*
>(evesd->GetTrack(itrack));
825 if(!trk) AliFatal(
"No a standard ESD");
836 if (!(track->HasPointOnITSLayer(0) || track->HasPointOnITSLayer(1)))
840 if (TESTBIT(track->GetITSClusterMap(),7))
return;
845 AliExternalTrackParam et; et.CopyFromVTrack(track);
852 Int_t imc=track->GetLabel();
858 const AliVParticle *mc= 0x0;
860 mc =
dynamic_cast<AliVParticle*
>(
fMCs->At(imc));
863 mc =
dynamic_cast<AliVParticle*
>(fMCEvent->GetTrack(imc));
869 AliExternalTrackParam mct(mcx,mcp,mccv,mcc);
870 const Double_t *parammc=mct.GetParameter();
872 AliVertex vtx(mcx,1.,1);
877 et.PropagateToDCA(&vtx,track->GetBz(),10.);
878 et.Rotate(mct.GetAlpha());
885 if(bz<0.) magfield=0;
886 else if(bz>0.)magfield=1;
898 const AliAODMCParticle *amcpart =
static_cast<const AliAODMCParticle *
>(mc);
900 pdgcode = amcpart->GetPdgCode();
902 const AliMCParticle *emcpart =
static_cast<const AliMCParticle *
>(mc);
904 pdgcode = emcpart->PdgCode();
908 case 2212:
case -2212:
972 Double_t dd0zn =dd0zo *(sd0zo >0. ? (sd0zn /sd0zo ) : 1.);
975 Double_t dd0rpn=dd0rpo*(sd0rpo>0. ? (sd0rpn/sd0rpo) : 1.);
976 Double_t dd0mrpn=TMath::Abs(sd0mrpn)-TMath::Abs(sd0mrpo);
977 Double_t d0rpn =d0rpmc+dd0rpn-dd0mrpn;
979 if(covar[0] > 0.) d0zoinsigma = d0zo/TMath::Sqrt(covar[2]);
981 if(covar[2] > 0.) d0rpoinsigma = d0rpo/TMath::Sqrt(covar[0]);
984 dd0mrpn=sd0mrpn-sd0mrpo;
985 d0rpn =d0rpmc+dd0rpn+dd0mrpn;
989 Double_t dpt1n =dpt1o *(spt1o >0. ? (spt1n /spt1o ) : 1.);
997 if(sd0rpo>0.) covar[0]*=(sd0rpn/sd0rpo)*(sd0rpn/sd0rpo);
998 if(sd0zo>0. && sd0rpo>0.)covar[1]*=(sd0rpn/sd0rpo)*(sd0zn/sd0zo);
999 if(sd0zo>0.) covar[2]*=(sd0zn/sd0zo)*(sd0zn/sd0zo);
1000 if(sd0rpo>0.) covar[3]*=(sd0rpn/sd0rpo);
1001 if(sd0zo>0.) covar[4]*=(sd0zn/sd0zo);
1002 if(sd0rpo>0.) covar[6]*=(sd0rpn/sd0rpo);
1003 if(sd0zo>0.) covar[7]*=(sd0zn/sd0zo);
1004 if(sd0rpo>0. && spt1o>0.)covar[10]*=(sd0rpn/sd0rpo)*(spt1n/spt1o);
1005 if(sd0zo>0. && spt1o>0.) covar[11]*=(sd0zn/sd0zo)*(spt1n/spt1o);
1006 if(spt1o>0.) covar[12]*=(spt1n/spt1o);
1007 if(spt1o>0.) covar[13]*=(spt1n/spt1o);
1008 if(spt1o>0.) covar[14]*=(spt1n/spt1o)*(spt1n/spt1o);
1012 covar[0]*=pullcorr*pullcorr;
1016 covar[10]*=pullcorr;
1021 if(covar[0] > 0.) d0zninsigma = d0zn/TMath::Sqrt(covar[2]);
1023 if(covar[2] > 0.) d0rpninsigma = d0rpn/TMath::Sqrt(covar[0]);
1031 et.GetCovarianceXYZPxPyPz(cv);
1033 AliAODTrack *aodtrack =
static_cast<AliAODTrack *
>(track);
1034 aodtrack->SetPosition(x,kFALSE);
1035 aodtrack->SetP(p,kTRUE);
1036 aodtrack->SetCovMatrix(cv);
1038 UChar_t itsClusterMap = aodtrack->GetITSClusterMap();
1039 SETBIT(itsClusterMap,7);
1040 aodtrack->SetITSClusterMap(itsClusterMap);
1044 AliESDtrack *esdtrack =
static_cast<AliESDtrack *
>(track);
1045 Short_t sign = esdtrack->Charge();
1046 esdtrack->Set(x,p,cv,sign);
1047 esdtrack->RelateToVVertex(InputEvent()->GetPrimaryVertex(), bz,100.);
1049 UChar_t itsClusterMap = esdtrack->GetITSClusterMap();
1050 SETBIT(itsClusterMap,7);
1051 esdtrack->SetITSClusterMap(itsClusterMap);
1091 AliVertexerTracks vertexer(bField);
1092 vertexer.SetVtxStart(old->GetX(),old->GetY(),old->GetZ());
1093 AliESDVertex *vertex=vertexer.VertexForSelectedTracks(tracks,ids);
1104 if(!graph)
return 0.;
1107 Int_t n =graph->GetN();
1111 if(!graphSA)
return graph->Eval(xmin);
1112 Double_t xminSA=graphSA->GetX()[0];
1113 if(x<xminSA)
return graphSA->Eval(xminSA);
1114 return graphSA->Eval(x);
1116 if (x>xmax)
return graph->Eval(xmax);
1117 return graph->Eval(x);
1124 if(phi>2.*pi || phi<0.)
return -1;
1125 if((phi<=(pi/4.)) || (phi>7.*(pi/4.)))
return 0;
1126 if((phi>(pi/4.)) && (phi<=3.*(pi/4.)))
return 1;
1127 if((phi>3.*(pi/4.)) && (phi<=5.*(pi/4.)))
return 2;
1128 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