39 #include <TParticle.h>
40 #include <TParticlePDG.h>
44 #include <THnSparse.h>
47 #include <TDatabasePDG.h>
48 #include <AliAnalysisDataSlot.h>
49 #include <AliAnalysisDataContainer.h>
50 #include "AliMCEvent.h"
51 #include "AliAnalysisManager.h"
52 #include "AliAODMCHeader.h"
53 #include "AliAODHandler.h"
55 #include "AliExternalTrackParam.h"
56 #include "AliAODVertex.h"
57 #include "AliAODRecoDecay.h"
61 #include "AliESDtrack.h"
62 #include "AliAODTrack.h"
64 #include "AliAODMCParticle.h"
65 #include "AliAnalysisTaskSE.h"
69 #include "AliInputEventHandler.h"
70 #include "AliESDtrackCuts.h"
71 #include "AliNeutralTrackParam.h"
91 fUseOnTheFlyV0(kFALSE),
93 fIsEventSelected(kFALSE),
94 fWriteVariableTree(kFALSE),
96 fCandidateVariables(),
99 fAdditionalChecks(kFALSE),
100 fFillSubSampleHist(kFALSE),
101 fTrackRotation(kFALSE),
103 fMinAngleForRot(5*TMath::Pi()/6),
104 fMaxAngleForRot(7*TMath::Pi()/6),
108 fPtMinToFillTheTree(0.),
109 fPtMaxToFillTheTree(999.),
110 fUseTPCPIDtoFillTree(kFALSE),
112 fCheckOrigin(kFALSE),
113 fReconstructSecVtx(kFALSE),
114 fDoSingleAnalysisForSystK0SP(0)
120 Double_t mLcPDG = TDatabasePDG::Instance()->GetParticle(4122)->Mass();
138 fUseOnTheFlyV0(useOnTheFly),
140 fIsEventSelected(kFALSE),
141 fWriteVariableTree(writeVariableTree),
143 fCandidateVariables(),
146 fAdditionalChecks(additionalChecks),
147 fFillSubSampleHist(kFALSE),
148 fTrackRotation(trackRotation),
150 fMinAngleForRot(5*TMath::Pi()/6),
151 fMaxAngleForRot(7*TMath::Pi()/6),
155 fPtMinToFillTheTree(0.),
156 fPtMaxToFillTheTree(999.),
157 fUseTPCPIDtoFillTree(useTPCpid),
159 fCheckOrigin(origin),
160 fReconstructSecVtx(kFALSE),
161 fDoSingleAnalysisForSystK0SP(0)
166 Info(
"AliAnalysisTaskSELc2V0bachelor",
"Calling Constructor");
173 Double_t mLcPDG = TDatabasePDG::Instance()->GetParticle(4122)->Mass();
177 DefineOutput(1,TList::Class());
178 DefineOutput(2,AliNormalizationCounter::Class());
179 DefineOutput(3,AliRDHFCutsLctoV0::Class());
180 if (!writeVariableTree) {
181 DefineOutput(4,TList::Class());
182 DefineOutput(5,TList::Class());
184 DefineOutput(6,TList::Class());
188 DefineOutput(4,TTree::Class());
200 Info(
"~AliAnalysisTaskSELc2V0bachelor",
"Calling Destructor");
246 if (fDebug > 1) AliInfo(
"Init");
258 AliError(
"NO EVENT FOUND!");
269 if (matchingAODdeltaAODlevel<0 || (matchingAODdeltaAODlevel==0 &&
fAODProtection==1)) {
276 TClonesArray *arrayLctopKos=0;
278 if (!aodEvent && AODEvent() && IsStandardAOD()) {
281 aodEvent =
dynamic_cast<AliAODEvent*
> (AODEvent());
284 AliAODHandler* aodHandler = (AliAODHandler*)
285 ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
287 if (aodHandler->GetExtensions()) {
288 AliAODExtension *ext = (AliAODExtension*)aodHandler->GetExtensions()->FindObject(
"AliAOD.VertexingHF.root");
290 arrayLctopKos=(TClonesArray*)aodFromExt->GetList()->FindObject(
"CascadesHF");
293 arrayLctopKos=(TClonesArray*)aodEvent->GetList()->FindObject(
"CascadesHF");
302 fVtx1 = (AliAODVertex*)aodEvent->GetPrimaryVertex();
313 if (TMath::Abs(
fBzkG)<0.001)
return;
316 if (!arrayLctopKos) {
317 AliInfo(
"Could not find array of HF cascades, skipping the event");
320 if (arrayLctopKos->GetEntriesFast()) {
321 AliInfo(Form(
"Found %d cascades",arrayLctopKos->GetEntriesFast()));
327 TClonesArray *mcArray = 0;
328 AliAODMCHeader *mcHeader=0;
332 mcArray =
dynamic_cast<TClonesArray*
>(aodEvent->FindListObject(AliAODMCParticle::StdBranchName()));
334 AliError(
"Could not find Monte-Carlo in AOD");
340 mcHeader = (AliAODMCHeader*)aodEvent->GetList()->FindObject(AliAODMCHeader::StdBranchName());
342 AliError(
"AliAnalysisTaskSELc2V0bachelor::UserExec: MC header branch not found!\n");
347 Double_t zMCVertex = mcHeader->GetVtxZ();
349 AliDebug(2,Form(
"Event rejected: abs(zVtxMC)=%f > fAnalCuts->GetMaxVtxZ()=%f",zMCVertex,
fAnalCuts->
GetMaxVtxZ()));
356 Int_t runnumber = aodEvent->GetRunNumber();
357 if (aodEvent->GetTriggerMask() == 0 && (runnumber >= 195344 && runnumber <= 195677)){
358 AliDebug(3,
"Event rejected because of null trigger mask");
364 if (
fVtx1->GetNContributors()>0)
377 Int_t nSelectedAnal = 0;
410 AliAnalysisTaskSE::Terminate();
414 AliError(
"fOutput not available");
422 AliError(
"fOutputAll not available");
428 AliError(
"fOutputPIDBach not available");
435 AliError(
"fOutputPIDBachTR not available");
443 AliError(
"fVariablesTree not available");
453 AliInfo(Form(
"CreateOutputObjects of task %s\n", GetName()));
501 TClonesArray *mcArray,
502 Int_t &nSelectedAnal,
508 Int_t pdgCand = 4122;
509 Int_t pdgDgLctoV0bachelor[2]={2212,310};
510 Int_t pdgDgV0toDaughters[2]={211,211};
513 Int_t nCascades= arrayLctopKos->GetEntriesFast();
515 AliInfo(
"Could not find cascades, skipping the event");
519 for (
Int_t iLctopK0S = 0; iLctopK0S<nCascades; iLctopK0S++) {
521 ((TH1F*)(
fOutput->FindObject(
"hCandidateSelection")))->Fill(0);
526 AliDebug(2,Form(
"Cascade %d doens't exist, skipping",iLctopK0S));
531 AliDebug(2,Form(
"Cascade %d is not flagged as Lc candidate",iLctopK0S));
550 if (!lcK0Spr->GetSecondaryVtx()) {
551 AliInfo(
"No secondary vertex");
555 if (lcK0Spr->GetNDaughters()!=2) {
556 AliDebug(2,Form(
"Cascade %d has not 2 daughters (nDaughters=%d)",iLctopK0S,lcK0Spr->GetNDaughters()));
560 if ( (
fSign == 0 && lcK0Spr->Charge()<0) ||
561 (
fSign == 1 && lcK0Spr->Charge()>0) ) {
562 AliDebug(2,Form(
"Charge of the cascade %d is different with respect to the required one",iLctopK0S));
566 AliAODv0 * v0part =
dynamic_cast<AliAODv0*
>(lcK0Spr->
Getv0());
567 AliAODTrack * bachPart =
dynamic_cast<AliAODTrack*
>(lcK0Spr->
GetBachelor());
568 if (!v0part || !bachPart) {
569 AliDebug(2,Form(
"Cascade %d has no V0 or no bachelor object",iLctopK0S));
573 if (!v0part->GetSecondaryVtx()) {
574 AliDebug(2,Form(
"No secondary vertex for V0 by cascade %d",iLctopK0S));
578 if (v0part->GetNDaughters()!=2) {
579 AliDebug(2,Form(
"current V0 has not 2 daughters (onTheFly=%d, nDaughters=%d)",v0part->GetOnFlyStatus(),v0part->GetNDaughters()));
585 if (!v0Neg || !v0Pos) {
586 AliDebug(2,Form(
"V0 by cascade %d has no V0positive of V0negative object",iLctopK0S));
590 ((TH1F*)(
fOutput->FindObject(
"hCandidateSelection")))->Fill(1);
592 if (v0Pos->Charge() == v0Neg->Charge())
continue;
594 ((TH1F*)(
fOutput->FindObject(
"hCandidateSelection")))->Fill(2);
604 Int_t mcLabel = lcK0Spr->
MatchToMC(pdgCand,pdgDgLctoV0bachelor[1],pdgDgLctoV0bachelor,pdgDgV0toDaughters,mcArray,kTRUE);
606 AliDebug(2,Form(
" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~cascade number %d (total cascade number = %d)", iLctopK0S,nCascades));
608 AliAODMCParticle *partLc =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(mcLabel));
610 pdgCode = partLc->GetPdgCode();
611 if (pdgCode<0) AliDebug(2,Form(
" ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ MClabel=%d ~~~~~~~~~~ pdgCode=%d", mcLabel, pdgCode));
612 pdgCode = TMath::Abs(pdgCode);
618 }
else if (pdgMom == 5) {
622 if (isThereaQuark<=0) originLc=3;
627 AliDebug(2,Form(
"No MC candidate (cascade number %d -total cascade number = %d -)", iLctopK0S,nCascades));
635 nSelectedAnal, cutsAnal,
643 AliDebug(2, Form(
"Found %d Reco particles that are Lc!!", nSelectedAnal));
651 Int_t &nSelectedAnal,
653 TClonesArray *mcArray,
662 AliAODTrack *bachelor = (AliAODTrack*)part->
GetBachelor();
665 AliAODv0 * v0part = (AliAODv0*)part->
Getv0();
666 Bool_t onFlyV0 = v0part->GetOnFlyStatus();
716 Double_t invmassK0S = v0part->MassK0Short();
717 Double_t mk0sPDG = TDatabasePDG::Instance()->GetParticle(310)->Mass();
720 if ( !onFlyV0 && isInCascadeWindow &&
736 Int_t pdgCand1 = 4122;
737 Int_t pdgDgLctoV0bachelor1[2]={2212,310};
738 Int_t pdgDgV0toDaughters1[2]={211,211};
739 Int_t mcLabel1=part->
MatchToMC(pdgCand1,pdgDgLctoV0bachelor1[1],pdgDgLctoV0bachelor1,pdgDgV0toDaughters1,mcArray,kTRUE);
740 AliDebug(2,Form(
" Found true MC candidate: Lc->pK0S(%d) - onTheFly=%1d",mcLabel1,onFlyV0));
761 fillthis=
"histArmPodK0S";
764 fillthis=
"histArmPodLc";
773 fillthis=
"histArmPodK0SOffline";
776 fillthis=
"histArmPodLcOffline";
780 if (isCandidateSelectedCuts) {
781 fillthis=
"histoprotonBachSigmaVspTOF";
782 ((
TH2F*)(
fOutput->FindObject(fillthis)))->Fill(momBach,nSigmaTOFpr);
783 fillthis=
"histoprotonBachSigmaVspTPC";
784 ((
TH2F*)(
fOutput->FindObject(fillthis)))->Fill(momBach,nSigmaTPCpr);
792 fillthis=
"histArmPodK0SSgn";
795 fillthis=
"histArmPodLcSgn";
817 fillthis=
"histArmPodK0SOfflineSgn";
820 fillthis=
"histArmPodLcOfflineSgn";
823 if (isCandidateSelectedCuts) {
824 fillthis=
"histoprotonBachSigmaVspTOFsgn";
825 ((
TH2F*)(
fOutput->FindObject(fillthis)))->Fill(momBach,nSigmaTOFpr);
826 fillthis=
"histoprotonBachSigmaVspTPCsgn";
827 ((
TH2F*)(
fOutput->FindObject(fillthis)))->Fill(momBach,nSigmaTPCpr);
851 fillthis=
"histArmPodK0SBkg";
854 fillthis=
"histArmPodLcBkg";
863 fillthis=
"histArmPodK0SOfflineBkg";
866 fillthis=
"histArmPodLcOfflineBkg";
870 if (isCandidateSelectedCuts) {
871 fillthis=
"histoprotonBachSigmaVspTOFbkg";
872 ((
TH2F*)(
fOutput->FindObject(fillthis)))->Fill(momBach,nSigmaTOFpr);
873 fillthis=
"histoprotonBachSigmaVspTPCbkg";
874 ((
TH2F*)(
fOutput->FindObject(fillthis)))->Fill(momBach,nSigmaTPCpr);
888 Double_t mLcPDG = TDatabasePDG::Instance()->GetParticle(4122)->Mass();
889 Double_t mK0SPDG = TDatabasePDG::Instance()->GetParticle(310)->Mass();
890 Double_t mMinLambdaPDG = TDatabasePDG::Instance()->GetParticle(2212)->Mass()+
891 TDatabasePDG::Instance()->GetParticle(211)->Mass();
892 Double_t mLPDG = TDatabasePDG::Instance()->GetParticle(3122)->Mass();
894 TString nameHisto=
" ", nameHistoSgn=
" ", nameHistoBkg=
" ";
895 TString titleHisto=
" ", titleHistoSgn=
" ", titleHistoBkg=
" ";
914 binLimpTprong[ 0]= 0.0;
915 binLimpTprong[ 1]= 0.1;
916 binLimpTprong[ 2]= 0.2;
917 binLimpTprong[ 3]= 0.3;
918 binLimpTprong[ 4]= 0.4;
919 binLimpTprong[ 5]= 0.5;
920 binLimpTprong[ 6]= 0.6;
921 binLimpTprong[ 7]= 0.7;
922 binLimpTprong[ 8]= 0.8;
923 binLimpTprong[ 9]= 0.9;
924 binLimpTprong[10]= 1.0;
925 binLimpTprong[11]= 1.2;
926 binLimpTprong[12]= 1.4;
927 binLimpTprong[13]= 1.6;
928 binLimpTprong[14]= 1.8;
929 binLimpTprong[15]= 2.0;
930 binLimpTprong[16]= 2.2;
931 binLimpTprong[17]= 2.4;
932 binLimpTprong[18]= 2.6;
933 binLimpTprong[19]= 2.8;
934 binLimpTprong[20]= 3.0;
935 binLimpTprong[21]= 3.5;
936 binLimpTprong[22]= 4.0;
937 binLimpTprong[23]= 4.5;
938 binLimpTprong[24]= 5.0;
939 binLimpTprong[25]= 5.5;
940 binLimpTprong[26]= 6.0;
941 binLimpTprong[27]= 6.5;
942 binLimpTprong[28]= 7.0;
943 binLimpTprong[29]= 7.5;
944 binLimpTprong[30]= 8.0;
945 binLimpTprong[31]= 9.0;
946 binLimpTprong[32]=10.0;
947 binLimpTprong[33]=11.0;
948 binLimpTprong[34]=12.0;
949 binLimpTprong[35]=13.0;
950 binLimpTprong[36]=14.0;
951 binLimpTprong[37]=15.0;
952 binLimpTprong[38]=20.0;
953 binLimpTprong[39]=25.0;
954 binLimpTprong[40]=30.0;
955 binLimpTprong[41]=35.0;
960 nameHisto=
"histK0SMass";
961 titleHisto=
"K^{0}_{S} invariant mass VS p_{T}; p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(#pi^{+},#pi^{-}) [GeV/c^{2}]; Entries";
962 TH2F* spectrumK0SMass =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,1000,mK0SPDG-0.050,mK0SPDG+0.050);
965 nameHisto=
"histLcMassByK0S";
966 titleHisto=
"#Lambda_{c} invariant mass (by K^{0}_{S}) vs p_{T}; m_{inv}(p,K^{0}_{S}) [GeV/c^{2}]; p_{T}(#Lambda_{c}) [GeV/c]";
967 TH2F* spectrumLcMassByK0S =
new TH2F(nameHisto.Data(),titleHisto.Data(),1000,mLcPDG-0.250,mLcPDG+0.250,11,binLimpTLc);
969 nameHisto=
"histpK0Svsp";
970 titleHisto=
"p(K^{0}_{S}) vs p(p); p(p) [GeV/c]; p(K^{0}_{S}) [GeV/c]";
971 TH2F* momentumDistributionK0Svsp =
new TH2F(nameHisto.Data(),titleHisto.Data(),41,binLimpTprong,41,binLimpTprong);
973 nameHisto=
"histArmPodK0S";
974 titleHisto=
"V0-candidate Armenteros-Podolanski distribution; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
975 TH2F* armenterosPodK0S =
new TH2F(nameHisto.Data(),titleHisto.Data(),200,-1.,1.,300,0.,0.3);
977 nameHisto=
"histArmPodLc";
978 titleHisto=
"#Lambda_{c}-candidate Armenteros-Podolanski distribution; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
979 TH2F* armenterosPodLc =
new TH2F(nameHisto.Data(),titleHisto.Data(),200,-4.,4.,800,0.,1.6);
981 TH2F* allspectrumK0SMass = (
TH2F*)spectrumK0SMass->Clone();
982 TH2F* allspectrumLcMassByK0S = (
TH2F*)spectrumLcMassByK0S->Clone();
983 TH2F* allmomentumDistributionK0Svsp = (
TH2F*)momentumDistributionK0Svsp->Clone();
984 TH2F* allArmenterosPodK0S = (
TH2F*)armenterosPodK0S->Clone();
985 TH2F* allArmenterosPodLc = (
TH2F*)armenterosPodLc->Clone();
987 TH2F* pidBachspectrumK0SMass = (
TH2F*)spectrumK0SMass->Clone();
988 TH2F* pidBachspectrumLcMassByK0S = (
TH2F*)spectrumLcMassByK0S->Clone();
989 TH2F* pidBachmomentumDistributionK0Svsp = (
TH2F*)momentumDistributionK0Svsp->Clone();
990 TH2F* pidBachArmenterosPodK0S = (
TH2F*)armenterosPodK0S->Clone();
991 TH2F* pidBachArmenterosPodLc = (
TH2F*)armenterosPodLc->Clone();
995 fOutputAll->Add(allmomentumDistributionK0Svsp);
1005 nameHisto=
"histArmPodK0S0";
1006 titleHisto=
"V0-candidate Armenteros-Podolanski distribution; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1007 TH2F* armenterosPodK0S0 =
new TH2F(nameHisto.Data(),titleHisto.Data(),200,-1.,1.,300,0.,0.3);
1008 nameHisto=
"histArmPodLc0";
1009 titleHisto=
"#Lambda_{c}-candidate Armenteros-Podolanski distribution; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1010 TH2F* armenterosPodLc0 =
new TH2F(nameHisto.Data(),titleHisto.Data(),200,-4.,4.,800,0.,1.6);
1016 TH2F* pidBachTRspectrumLcMassByK0S = (
TH2F*)spectrumLcMassByK0S->Clone();
1022 nameHisto=
"histptK0S";
1023 titleHisto=
"p_{T}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(K^{0}_{S}) [GeV/c]; Entries";
1024 TH2F* ptK0S =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,41,binLimpTprong);
1026 nameHisto=
"histptP";
1027 titleHisto=
"p_{T}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(p) [GeV/c]; Entries";
1028 TH2F* ptP =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,41,binLimpTprong);
1030 nameHisto=
"histptPip";
1031 titleHisto=
"p_{T}(#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{+}) [GeV/c]; Entries";
1032 TH2F* ptPiP =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,41,binLimpTprong);
1034 nameHisto=
"histptPim";
1035 titleHisto=
"p_{T}(#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{-}) [GeV/c]; Entries";
1036 TH2F* ptPiM =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,41,binLimpTprong);
1038 nameHisto=
"histLambdaMass";
1039 titleHisto=
"m_{inv}(p,#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(p,#pi^{-}) [GeV/c^{2}]; Entries";
1040 TH2F* massLambda =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,1000,mMinLambdaPDG,mMinLambdaPDG+0.5);
1042 nameHisto=
"histLambdaBarMass";
1043 titleHisto=
"m_{inv}(#bar{p},#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(#bar{p},#pi^{+}) [GeV/c^{2}]; Entries";
1044 TH2F* massLambdaBar =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,1000,mMinLambdaPDG,mMinLambdaPDG+0.5);
1046 nameHisto=
"histGammaMass";
1047 titleHisto=
"m_{inv}(e^{+},e^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(e^{+},e^{-}) [GeV/c^{2}]; Entries";
1048 TH2F* massGamma =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,100,0.,1.);
1050 nameHisto=
"histD0K0S";
1051 titleHisto=
"d_{0}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(K^{0}_{S}) [#sigmas]; Entries";
1052 TH2F* d0K0S =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,1000,-1.,1.);
1054 nameHisto=
"histD0P";
1055 titleHisto=
"d_{0}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(p) [cm]; Entries";
1056 TH2F* d0P =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,1000,-1.,1.);
1058 nameHisto=
"histCosPAK0S";
1059 titleHisto=
"K^{0}_{S} cosine of pointing angle wrt primary vertex vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
1060 TH2F *cosPAK0S =
new TH2F(nameHisto.Data(),titleHisto.Data(),41,binLimpTprong,100,0.99,1.);
1062 nameHisto=
"histCosThetaProtonCMS";
1063 titleHisto=
"cosien of proton emission angle in Lc rest frame; p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
1064 TH2F *cosThePr =
new TH2F(nameHisto.Data(),titleHisto.Data(),41,binLimpTprong,100,-1.,1.);
1066 nameHisto=
"histResignedD0";
1067 titleHisto=
"Proton d0 with different sign convention; p_{T}(#Lambda_{c}) [GeV/c]; d0 [cm]; Entries";
1068 TH2F *resignedD0 =
new TH2F(nameHisto.Data(),titleHisto.Data(),41,binLimpTprong,100,-0.1,0.1);
1070 TH2F* allptK0S = (
TH2F*)ptK0S->Clone();
1071 TH2F* allptP = (
TH2F*)ptP->Clone();
1072 TH2F* allptPiP = (
TH2F*)ptPiP->Clone();
1073 TH2F* allptPiM = (
TH2F*)ptPiM->Clone();
1074 TH2F* allmassLambda = (
TH2F*)massLambda->Clone();
1075 TH2F* allmassLambdaBar = (
TH2F*)massLambdaBar->Clone();
1076 TH2F* allmassGamma = (
TH2F*)massGamma->Clone();
1077 TH2F* alld0K0S = (
TH2F*)d0K0S->Clone();
1078 TH2F* alld0P = (
TH2F*)d0P->Clone();
1079 TH2F* allcosPAK0S = (
TH2F*)cosPAK0S->Clone();
1080 TH2F* allcosThePr = (
TH2F*)cosThePr->Clone();
1081 TH2F* allresignedD0 = (
TH2F*)resignedD0->Clone();
1083 TH2F* pidptK0S = (
TH2F*)ptK0S->Clone();
1084 TH2F* pidptP = (
TH2F*)ptP->Clone();
1085 TH2F* pidptPiP = (
TH2F*)ptPiP->Clone();
1086 TH2F* pidptPiM = (
TH2F*)ptPiM->Clone();
1087 TH2F* pidmassLambda = (
TH2F*)massLambda->Clone();
1088 TH2F* pidmassLambdaBar = (
TH2F*)massLambdaBar->Clone();
1089 TH2F* pidmassGamma = (
TH2F*)massGamma->Clone();
1090 TH2F* pidd0K0S = (
TH2F*)d0K0S->Clone();
1091 TH2F* pidd0P = (
TH2F*)d0P->Clone();
1092 TH2F* pidcosPAK0S = (
TH2F*)cosPAK0S->Clone();
1093 TH2F* pidcosThePr = (
TH2F*)cosThePr->Clone();
1094 TH2F* pidresignedD0 = (
TH2F*)resignedD0->Clone();
1124 TH2F* pidTRptK0S = (
TH2F*)ptK0S->Clone();
1125 TH2F* pidTRptP = (
TH2F*)ptP->Clone();
1126 TH2F* pidTRptPiP = (
TH2F*)ptPiP->Clone();
1127 TH2F* pidTRptPiM = (
TH2F*)ptPiM->Clone();
1128 TH2F* pidTRmassLambda = (
TH2F*)massLambda->Clone();
1129 TH2F* pidTRmassLambdaBar = (
TH2F*)massLambdaBar->Clone();
1130 TH2F* pidTRmassGamma = (
TH2F*)massGamma->Clone();
1131 TH2F* pidTRcosPAK0S = (
TH2F*)cosPAK0S->Clone();
1132 TH2F* pidTRcosThePr = (
TH2F*)cosThePr->Clone();
1133 TH2F* pidTRresignedD0 = (
TH2F*)resignedD0->Clone();
1150 nameHisto=
"histK0SMassOffline";
1151 titleHisto=
"K^{0}_{S} invariant mass VS p_{T}; p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(#pi^{+},#pi^{-}) [GeV/c^{2}]; Entries";
1152 TH2F* spectrumK0SMassOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,1000,mK0SPDG-0.050,mK0SPDG+0.050);
1155 nameHisto=
"histLcMassByK0SOffline";
1156 titleHisto=
"#Lambda_{c} invariant mass (by K^{0}_{S}) vs p_{T}; m_{inv}(p,K^{0}_{S}) [GeV/c^{2}]; p_{T}(#Lambda_{c}) [GeV/c]";
1157 TH2F* spectrumLcMassOfflineByK0S =
new TH2F(nameHisto.Data(),titleHisto.Data(),1000,mLcPDG-0.250,mLcPDG+0.250,11,binLimpTLc);
1159 nameHisto=
"histpK0SvspOffline";
1160 titleHisto=
"p(K^{0}_{S}) vs p(p); p(p) [GeV/c]; p(K^{0}_{S}) [GeV/c]";
1161 TH2F* momentumDistributionK0SvspOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),41,binLimpTprong,41,binLimpTprong);
1163 nameHisto=
"histArmPodK0SOffline";
1164 titleHisto=
"V0-candidate Armenteros-Podolanski distribution; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1165 TH2F* armenterosPodK0SOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),200,-1.,1.,300,0.,0.3);
1167 nameHisto=
"histArmPodLcOffline";
1168 titleHisto=
"#Lambda_{c}-candidate Armenteros-Podolanski distribution; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1169 TH2F* armenterosPodLcOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),200,-4.,4.,800,0.,1.6);
1171 TH2F* allspectrumK0SMassOffline = (
TH2F*)spectrumK0SMassOffline->Clone();
1172 TH2F* allspectrumLcMassOfflineByK0S = (
TH2F*)spectrumLcMassOfflineByK0S->Clone();
1173 TH2F* allmomentumDistributionK0SvspOffline = (
TH2F*)momentumDistributionK0SvspOffline->Clone();
1174 TH2F* allArmenterosPodK0SOffline = (
TH2F*)armenterosPodK0SOffline->Clone();
1175 TH2F* allArmenterosPodLcOffline = (
TH2F*)armenterosPodLcOffline->Clone();
1177 TH2F* pidBachspectrumK0SMassOffline = (
TH2F*)spectrumK0SMassOffline->Clone();
1178 TH2F* pidBachspectrumLcMassOfflineByK0S = (
TH2F*)spectrumLcMassOfflineByK0S->Clone();
1179 TH2F* pidBachmomentumDistributionK0SvspOffline = (
TH2F*)momentumDistributionK0SvspOffline->Clone();
1180 TH2F* pidBachArmenterosPodK0SOffline = (
TH2F*)armenterosPodK0SOffline->Clone();
1181 TH2F* pidBachArmenterosPodLcOffline = (
TH2F*)armenterosPodLcOffline->Clone();
1184 fOutputAll->Add(allspectrumLcMassOfflineByK0S);
1185 fOutputAll->Add(allmomentumDistributionK0SvspOffline);
1196 nameHisto=
"histLcMassByK0SSubSampleOffline";
1197 titleHisto=
"#Lambda_{c} invariant mass (by K^{0}_{S}) vs p_{T} vs Sub ID";
1198 Int_t bins_subsample[3]= {1000,24,25};
1199 Double_t xmin_subsample[3]={mLcPDG-0.25,0,-0.5};
1200 Double_t xmax_subsample[3]={mLcPDG+0.25,24.,24.5};
1201 THnSparse *spectrumLcMassOfflineByK0SSubSample =
new THnSparseF(nameHisto.Data(),titleHisto.Data(),3,bins_subsample,xmin_subsample,xmax_subsample);
1205 nameHisto=
"histArmPodK0SOffline0";
1206 titleHisto=
"V0-candidate Armenteros-Podolanski distribution; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1207 TH2F* armenterosPodK0SOffline0 =
new TH2F(nameHisto.Data(),titleHisto.Data(),200,-1.,1.,300,0.,0.3);
1208 nameHisto=
"histArmPodLcOffline0";
1209 titleHisto=
"#Lambda_{c}-candidate Armenteros-Podolanski distribution; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1210 TH2F* armenterosPodLcOffline0 =
new TH2F(nameHisto.Data(),titleHisto.Data(),200,-4.,4.,800,0.,1.6);
1215 TH2F* pidBachTRspectrumLcMassOfflineByK0S = (
TH2F*)spectrumLcMassOfflineByK0S->Clone();
1222 nameHisto=
"histptK0SOffline";
1223 titleHisto=
"p_{T}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(K^{0}_{S}) [GeV/c]; Entries";
1224 TH2F* ptK0SOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,41,binLimpTprong);
1226 nameHisto=
"histptPOffline";
1227 titleHisto=
"p_{T}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(p) [GeV/c]; Entries";
1228 TH2F* ptPOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,41,binLimpTprong);
1230 nameHisto=
"histptPipOffline";
1231 titleHisto=
"p_{T}(#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{+}) [GeV/c]; Entries";
1232 TH2F* ptPiPOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,41,binLimpTprong);
1234 nameHisto=
"histptPimOffline";
1235 titleHisto=
"p_{T}(#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{-}) [GeV/c]; Entries";
1236 TH2F* ptPiMOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,41,binLimpTprong);
1238 nameHisto=
"histLambdaMassOffline";
1239 titleHisto=
"m_{inv}(p,#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(p,#pi^{-}) [GeV/c^{2}]; Entries";
1240 TH2F* massLambdaOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,1000,mMinLambdaPDG,mMinLambdaPDG+0.5);
1242 nameHisto=
"histLambdaBarMassOffline";
1243 titleHisto=
"m_{inv}(#bar{p},#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(#bar{p},#pi^{+}) [GeV/c^{2}]; Entries";
1244 TH2F* massLambdaBarOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,1000,mMinLambdaPDG,mMinLambdaPDG+0.5);
1246 nameHisto=
"histGammaMassOffline";
1247 titleHisto=
"m_{inv}(e^{+},e^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(e^{+},e^{-}) [GeV/c^{2}]; Entries";
1248 TH2F* massGammaOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,100,0.,1.);
1250 nameHisto=
"histD0K0SOffline";
1251 titleHisto=
"d_{0}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(K^{0}_{S}) [#sigmas]; Entries";
1252 TH2F* d0K0SOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,1000,-1.,1.);
1254 nameHisto=
"histD0POffline";
1255 titleHisto=
"d_{0}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(p) [cm]; Entries";
1256 TH2F* d0POffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),11,binLimpTLc,1000,-1.,1.);
1258 nameHisto=
"histCosPAK0SOffline";
1259 titleHisto=
"K^{0}_{S} cosine of pointing angle wrt primary vertex vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
1260 TH2F *cosPAK0SOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),41,binLimpTprong,100,0.99,1.);
1262 nameHisto=
"histCosThetaProtonCMSOffline";
1263 titleHisto=
"cosien of proton emission angle in Lc rest frame; p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
1264 TH2F *cosThePrOffline =
new TH2F(nameHisto.Data(),titleHisto.Data(),41,binLimpTprong,100,-1.,1.);
1266 nameHisto=
"histResignedD0Offline";
1267 titleHisto=
"Proton d0 with different sign convention; p_{T}(#Lambda_{c}) [GeV/c]; d0 [cm]; Entries";
1268 TH2F *resignedD0Offline =
new TH2F(nameHisto.Data(),titleHisto.Data(),41,binLimpTprong,100,-0.1,0.1);
1271 TH2F* allptK0SOffline = (
TH2F*)ptK0SOffline->Clone();
1272 TH2F* allptPOffline = (
TH2F*)ptPOffline->Clone();
1273 TH2F* allptPiPOffline = (
TH2F*)ptPiPOffline->Clone();
1274 TH2F* allptPiMOffline = (
TH2F*)ptPiMOffline->Clone();
1275 TH2F* allmassLambdaOffline = (
TH2F*)massLambdaOffline->Clone();
1276 TH2F* allmassLambdaBarOffline = (
TH2F*)massLambdaBarOffline->Clone();
1277 TH2F* allmassGammaOffline = (
TH2F*)massGammaOffline->Clone();
1278 TH2F* alld0K0SOffline = (
TH2F*)d0K0SOffline->Clone();
1279 TH2F* alld0POffline = (
TH2F*)d0POffline->Clone();
1280 TH2F* allcosPAK0SOffline = (
TH2F*)cosPAK0SOffline->Clone();
1281 TH2F* allcosThePrOffline = (
TH2F*)cosThePrOffline->Clone();
1282 TH2F* allresignedD0Offline = (
TH2F*)resignedD0Offline->Clone();
1284 TH2F* pidptK0SOffline = (
TH2F*)ptK0SOffline->Clone();
1285 TH2F* pidptPOffline = (
TH2F*)ptPOffline->Clone();
1286 TH2F* pidptPiPOffline = (
TH2F*)ptPiPOffline->Clone();
1287 TH2F* pidptPiMOffline = (
TH2F*)ptPiMOffline->Clone();
1288 TH2F* pidmassLambdaOffline = (
TH2F*)massLambdaOffline->Clone();
1289 TH2F* pidmassLambdaBarOffline = (
TH2F*)massLambdaBarOffline->Clone();
1290 TH2F* pidmassGammaOffline = (
TH2F*)massGammaOffline->Clone();
1291 TH2F* pidd0K0SOffline = (
TH2F*)d0K0SOffline->Clone();
1292 TH2F* pidd0POffline = (
TH2F*)d0POffline->Clone();
1293 TH2F* pidcosPAK0SOffline = (
TH2F*)cosPAK0SOffline->Clone();
1294 TH2F* pidcosThePrOffline = (
TH2F*)cosThePrOffline->Clone();
1295 TH2F* pidresignedD0Offline = (
TH2F*)resignedD0Offline->Clone();
1325 TH2F* pidTRptK0SOffline = (
TH2F*)ptK0SOffline->Clone();
1326 TH2F* pidTRptPOffline = (
TH2F*)ptPOffline->Clone();
1327 TH2F* pidTRptPiPOffline = (
TH2F*)ptPiPOffline->Clone();
1328 TH2F* pidTRptPiMOffline = (
TH2F*)ptPiMOffline->Clone();
1329 TH2F* pidTRmassLambdaOffline = (
TH2F*)massLambdaOffline->Clone();
1330 TH2F* pidTRmassLambdaBarOffline = (
TH2F*)massLambdaBarOffline->Clone();
1331 TH2F* pidTRmassGammaOffline = (
TH2F*)massGammaOffline->Clone();
1332 TH2F* pidTRcosPAK0SOffline = (
TH2F*)cosPAK0SOffline->Clone();
1333 TH2F* pidTRcosThePrOffline = (
TH2F*)cosThePrOffline->Clone();
1334 TH2F* pidTRresignedD0Offline = (
TH2F*)resignedD0Offline->Clone();
1356 nameHistoSgn=
"histK0SMassSgn";
1357 nameHistoBkg=
"histK0SMassBkg";
1358 titleHistoSgn=
"K^{0}_{S} - sgn: invariant mass VS p_{T} - MC; p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(#pi^{+},#pi^{-}) [GeV/c^{2}]; Entries";
1359 titleHistoBkg=
"K^{0}_{S} - bkg: invariant mass VS p_{T} - MC; p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(#pi^{+},#pi^{-}) [GeV/c^{2}]; Entries";
1360 TH2F* spectrumK0SMassSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,1000,mK0SPDG-0.050,mK0SPDG+0.050);
1361 TH2F* spectrumK0SMassBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,1000,mK0SPDG-0.050,mK0SPDG+0.050);
1363 nameHistoSgn=
"histLcMassByK0SSgn";
1364 nameHistoBkg=
"histLcMassByK0SBkg";
1365 titleHistoSgn=
"#Lambda_{c} - sgn: invariant mass (by K^{0}_{S}) vs p_{T} - MC; m_{inv}(p,K^{0}_{S}) [GeV/c^{2}]; p_{T}(#Lambda_{c}) [GeV/c]";
1366 titleHistoBkg=
"#Lambda_{c} - bkg: invariant mass (by K^{0}_{S}) vs p_{T} - MC; m_{inv}(p,K^{0}_{S}) [GeV/c^{2}]; p_{T}(#Lambda_{c}) [GeV/c]";
1367 TH2F* spectrumLcMassByK0SSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),1000,mLcPDG-0.250,mLcPDG+0.250,11,binLimpTLc);
1368 TH2F* spectrumLcMassByK0SBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),1000,mLcPDG-0.250,mLcPDG+0.250,11,binLimpTLc);
1370 nameHistoSgn=
"histpK0SvspSgn";
1371 nameHistoBkg=
"histpK0SvspBkg";
1372 titleHistoSgn=
"#Lambda_{c} - sgn: K^{0}_{S} vs p Total Momentum Distribution - MC; p(p) [GeV/c]; p(K^{0}_{S}) [GeV/c]";
1373 titleHistoBkg=
"#Lambda_{c} - bkg: K^{0}_{S} vs p Total Momentum Distribution - MC; p(p) [GeV/c]; p(K^{0}_{S}) [GeV/c]";
1374 TH2F* momentumDistributionK0SvspSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),41,binLimpTprong,41,binLimpTprong);
1375 TH2F* momentumDistributionK0SvspBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),41,binLimpTprong,41,binLimpTprong);
1378 nameHistoSgn=
"histArmPodK0SSgn";
1379 nameHistoBkg=
"histArmPodK0SBkg";
1380 titleHistoSgn=
"V0-candidate Armenteros-Podolanski distribution (sgn); #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1381 titleHistoBkg=
"V0-candidate Armenteros-Podolanski distribution (bkg); #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1382 TH2F* armenterosPodK0SSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),200,-1.,1.,300,0.,0.3);
1383 TH2F* armenterosPodK0SBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),200,-1.,1.,300,0.,0.3);
1385 nameHistoSgn=
"histArmPodLcSgn";
1386 nameHistoBkg=
"histArmPodLcBkg";
1387 titleHistoSgn=
"#Lambda_{c}-candidate Armenteros-Podolanski distribution (sgn); #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1388 titleHistoBkg=
"#Lambda_{c}-candidate Armenteros-Podolanski distribution (bkg); #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1389 TH2F* armenterosPodLcSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),200,-4.,4.,800,0.,1.6);
1390 TH2F* armenterosPodLcBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),200,-4.,4.,800,0.,1.6);
1392 TH2F* allspectrumK0SMassSgn = (
TH2F*)spectrumK0SMassSgn->Clone();
1393 TH2F* allspectrumK0SMassBkg = (
TH2F*)spectrumK0SMassBkg->Clone();
1394 TH2F* allspectrumLcMassByK0SSgn = (
TH2F*)spectrumLcMassByK0SSgn->Clone();
1395 TH2F* allspectrumLcMassByK0SBkg = (
TH2F*)spectrumLcMassByK0SBkg->Clone();
1396 TH2F* allmomentumDistributionK0SvspSgn = (
TH2F*)momentumDistributionK0SvspSgn->Clone();
1397 TH2F* allmomentumDistributionK0SvspBkg = (
TH2F*)momentumDistributionK0SvspBkg->Clone();
1398 TH2F* allArmenterosPodK0SSgn = (
TH2F*)armenterosPodK0SSgn->Clone();
1399 TH2F* allArmenterosPodK0SBkg = (
TH2F*)armenterosPodK0SBkg->Clone();
1400 TH2F* allArmenterosPodLcSgn = (
TH2F*)armenterosPodLcSgn->Clone();
1401 TH2F* allArmenterosPodLcBkg = (
TH2F*)armenterosPodLcBkg->Clone();
1403 TH2F* pidBachspectrumK0SMassSgn = (
TH2F*)spectrumK0SMassSgn->Clone();
1404 TH2F* pidBachspectrumK0SMassBkg = (
TH2F*)spectrumK0SMassBkg->Clone();
1405 TH2F* pidBachspectrumLcMassByK0SSgn = (
TH2F*)spectrumLcMassByK0SSgn->Clone();
1406 TH2F* pidBachspectrumLcMassByK0SBkg = (
TH2F*)spectrumLcMassByK0SBkg->Clone();
1407 TH2F* pidBachmomentumDistributionK0SvspSgn = (
TH2F*)momentumDistributionK0SvspSgn->Clone();
1408 TH2F* pidBachmomentumDistributionK0SvspBkg = (
TH2F*)momentumDistributionK0SvspBkg->Clone();
1409 TH2F* pidBachArmenterosPodK0SSgn = (
TH2F*)armenterosPodK0SSgn->Clone();
1410 TH2F* pidBachArmenterosPodK0SBkg = (
TH2F*)armenterosPodK0SBkg->Clone();
1411 TH2F* pidBachArmenterosPodLcSgn = (
TH2F*)armenterosPodLcSgn->Clone();
1412 TH2F* pidBachArmenterosPodLcBkg = (
TH2F*)armenterosPodLcBkg->Clone();
1418 fOutputAll->Add(allmomentumDistributionK0SvspSgn);
1419 fOutputAll->Add(allmomentumDistributionK0SvspBkg);
1436 nameHistoSgn=
"histArmPodK0SSgn0";
1437 nameHistoBkg=
"histArmPodK0SBkg0";
1438 titleHistoSgn=
"V0-candidate Armenteros-Podolanski distribution (sgn); #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1439 titleHistoBkg=
"V0-candidate Armenteros-Podolanski distribution (bkg); #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1440 TH2F* armenterosPodK0SSgn0 =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),200,-1.,1.,300,0.,0.3);
1441 TH2F* armenterosPodK0SBkg0 =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),200,-1.,1.,300,0.,0.3);
1444 nameHistoSgn=
"histArmPodLcSgn0";
1445 nameHistoBkg=
"histArmPodLcBkg0";
1446 titleHistoSgn=
"#Lambda_{c}-candidate Armenteros-Podolanski distribution (sgn); #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1447 titleHistoBkg=
"#Lambda_{c}-candidate Armenteros-Podolanski distribution (bkg); #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1448 TH2F* armenterosPodLcSgn0 =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),200,-4.,4.,800,0.,1.6);
1449 TH2F* armenterosPodLcBkg0 =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),200,-4.,4.,800,0.,1.6);
1454 TH2F* pidBachTRspectrumLcMassByK0SSgn = (
TH2F*)spectrumLcMassByK0SSgn->Clone();
1455 TH2F* pidBachTRspectrumLcMassByK0SBkg = (
TH2F*)spectrumLcMassByK0SBkg->Clone();
1462 nameHistoSgn=
"histptK0SSgn";
1463 nameHistoBkg=
"histptK0SBkg";
1464 titleHistoSgn=
"p_{T}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(K^{0}_{S}) [GeV/c]; Entries";
1465 titleHistoBkg=
"p_{T}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(K^{0}_{S}) [GeV/c]; Entries";
1466 TH2F* ptK0SSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,41,binLimpTprong);
1467 TH2F* ptK0SBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,41,binLimpTprong);
1469 nameHistoSgn=
"histptPSgn";
1470 nameHistoBkg=
"histptPBkg";
1471 titleHistoSgn=
"p_{T}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(p) [GeV/c]; Entries";
1472 titleHistoBkg=
"p_{T}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(p) [GeV/c]; Entries";
1473 TH2F* ptPSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,41,binLimpTprong);
1474 TH2F* ptPBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,41,binLimpTprong);
1476 nameHistoSgn=
"histptPipSgn";
1477 nameHistoBkg=
"histptPipBkg";
1478 titleHistoSgn=
"p_{T}(#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{+}) [GeV/c]; Entries";
1479 titleHistoBkg=
"p_{T}(#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{+}) [GeV/c]; Entries";
1480 TH2F* ptPiPSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,41,binLimpTprong);
1481 TH2F* ptPiPBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,41,binLimpTprong);
1483 nameHistoSgn=
"histptPimSgn";
1484 nameHistoBkg=
"histptPimBkg";
1485 titleHistoSgn=
"p_{T}(#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{-}) [GeV/c]; Entries";
1486 titleHistoBkg=
"p_{T}(#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{-}) [GeV/c]; Entries";
1487 TH2F* ptPiMSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,41,binLimpTprong);
1488 TH2F* ptPiMBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,41,binLimpTprong);
1490 nameHistoSgn=
"histLambdaMassSgn";
1491 nameHistoBkg=
"histLambdaMassBkg";
1492 titleHistoSgn=
"m_{inv}(p,#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(p,#pi^{-}) [GeV/c^{2}]; Entries";
1493 titleHistoBkg=
"m_{inv}(p,#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(p,#pi^{-}) [GeV/c^{2}]; Entries";
1494 TH2F* massLambdaSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,1000,mMinLambdaPDG,mMinLambdaPDG+0.5);
1495 TH2F* massLambdaBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,1000,mMinLambdaPDG,mMinLambdaPDG+0.5);
1497 nameHistoSgn=
"histLambdaBarMassSgn";
1498 nameHistoBkg=
"histLambdaBarMassBkg";
1499 titleHistoSgn=
"m_{inv}(#bar{p},#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(#bar{p},#pi^{+}) [GeV/c^{2}]; Entries";
1500 titleHistoBkg=
"m_{inv}(#bar{p},#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(#bar{p},#pi^{+}) [GeV/c^{2}]; Entries";
1501 TH2F* massLambdaBarSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,1000,mMinLambdaPDG,mMinLambdaPDG+0.5);
1502 TH2F* massLambdaBarBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,1000,mMinLambdaPDG,mMinLambdaPDG+0.5);
1504 nameHistoSgn=
"histGammaMassSgn";
1505 nameHistoBkg=
"histGammaMassBkg";
1506 titleHistoSgn=
"m_{inv}(e^{+},e^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(e^{+},e^{-}) [GeV/c^{2}]; Entries";
1507 titleHistoBkg=
"m_{inv}(e^{+},e^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(e^{+},e^{-}) [GeV/c^{2}]; Entries";
1508 TH2F* massGammaSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,100,0.,1.);
1509 TH2F* massGammaBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,100,0.,1.);
1511 nameHistoSgn=
"histD0K0SSgn";
1512 nameHistoBkg=
"histD0K0SBkg";
1513 titleHistoSgn=
"d_{0}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(K^{0}_{S}) [#sigmas]; Entries";
1514 titleHistoBkg=
"d_{0}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(K^{0}_{S}) [#sigmas]; Entries";
1515 TH2F* d0K0SSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,1000,-1.,1.);
1516 TH2F* d0K0SBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,1000,-1.,1.);
1518 nameHistoSgn=
"histD0PSgn";
1519 nameHistoBkg=
"histD0PBkg";
1520 titleHistoSgn=
"d_{0}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(p) [cm]; Entries";
1521 titleHistoBkg=
"d_{0}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(p) [cm]; Entries";
1522 TH2F* d0PSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,1000,-1.,1.);
1523 TH2F* d0PBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,1000,-1.,1.);
1525 nameHistoSgn=
"histCosPAK0SSgn";
1526 nameHistoBkg=
"histCosPAK0SBkg";
1527 titleHistoSgn=
"K^{0}_{S} cosine of pointing angle wrt primary vertex vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
1528 titleHistoBkg=
"K^{0}_{S} cosine of pointing angle wrt primary vertex vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
1529 TH2F *cosPAK0SSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),41,binLimpTprong,100,0.99,1.);
1530 TH2F *cosPAK0SBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),41,binLimpTprong,100,0.99,1.);
1532 nameHistoSgn=
"histCosThetaProtonCMSSgn";
1533 nameHistoBkg=
"histCosThetaProtonCMSBkg";
1534 titleHistoSgn=
"cosien of proton emission angle in Lc rest frame; p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
1535 titleHistoBkg=
"cosien of proton emission angle in Lc rest frame; p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
1536 TH2F *cosThePrSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),41,binLimpTprong,100,-1.,1.);
1537 TH2F *cosThePrBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),41,binLimpTprong,100,-1.,1.);
1540 nameHistoSgn=
"histResignedD0Sgn";
1541 nameHistoBkg=
"histResignedD0Bkg";
1542 titleHistoSgn=
"Proton d0 with different sign convention; p_{T}(#Lambda_{c}) [GeV/c]; d0 [cm]; Entries";
1543 titleHistoBkg=
"Proton d0 with different sign convention; p_{T}(#Lambda_{c}) [GeV/c]; d0 [cm]; Entries";
1544 TH2F *resignedD0Sgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),41,binLimpTprong,100,-0.1,0.1);
1545 TH2F *resignedD0Bkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),41,binLimpTprong,100,-0.1,0.1);
1547 TH2F* allptK0SSgn = (
TH2F*)ptK0SSgn->Clone();
1548 TH2F* allptK0SBkg = (
TH2F*)ptK0SBkg->Clone();
1549 TH2F* allptPSgn = (
TH2F*)ptPSgn->Clone();
1550 TH2F* allptPBkg = (
TH2F*)ptPBkg->Clone();
1551 TH2F* allptPiPSgn = (
TH2F*)ptPiPSgn->Clone();
1552 TH2F* allptPiPBkg = (
TH2F*)ptPiPBkg->Clone();
1553 TH2F* allptPiMSgn = (
TH2F*)ptPiMSgn->Clone();
1554 TH2F* allptPiMBkg = (
TH2F*)ptPiMBkg->Clone();
1555 TH2F* allmassLambdaSgn = (
TH2F*)massLambdaSgn->Clone();
1556 TH2F* allmassLambdaBkg = (
TH2F*)massLambdaBkg->Clone();
1557 TH2F* allmassLambdaBarSgn = (
TH2F*)massLambdaBarSgn->Clone();
1558 TH2F* allmassLambdaBarBkg = (
TH2F*)massLambdaBarBkg->Clone();
1559 TH2F* allmassGammaSgn = (
TH2F*)massGammaSgn->Clone();
1560 TH2F* allmassGammaBkg = (
TH2F*)massGammaBkg->Clone();
1561 TH2F* alld0K0SSgn = (
TH2F*)d0K0SSgn->Clone();
1562 TH2F* alld0K0SBkg = (
TH2F*)d0K0SBkg->Clone();
1563 TH2F* alld0PSgn = (
TH2F*)d0PSgn->Clone();
1564 TH2F* alld0PBkg = (
TH2F*)d0PBkg->Clone();
1565 TH2F* allcosPAK0SSgn = (
TH2F*)cosPAK0SSgn->Clone();
1566 TH2F* allcosPAK0SBkg = (
TH2F*)cosPAK0SBkg->Clone();
1567 TH2F* allcosThePrSgn = (
TH2F*)cosThePrSgn->Clone();
1568 TH2F* allcosThePrBkg = (
TH2F*)cosThePrBkg->Clone();
1569 TH2F* allresignedD0Sgn = (
TH2F*)resignedD0Sgn->Clone();
1570 TH2F* allresignedD0Bkg = (
TH2F*)resignedD0Bkg->Clone();
1572 TH2F* pidptK0SSgn = (
TH2F*)ptK0SSgn->Clone();
1573 TH2F* pidptK0SBkg = (
TH2F*)ptK0SBkg->Clone();
1574 TH2F* pidptPSgn = (
TH2F*)ptPSgn->Clone();
1575 TH2F* pidptPBkg = (
TH2F*)ptPBkg->Clone();
1576 TH2F* pidptPiPSgn = (
TH2F*)ptPiPSgn->Clone();
1577 TH2F* pidptPiPBkg = (
TH2F*)ptPiPBkg->Clone();
1578 TH2F* pidptPiMSgn = (
TH2F*)ptPiMSgn->Clone();
1579 TH2F* pidptPiMBkg = (
TH2F*)ptPiMBkg->Clone();
1580 TH2F* pidmassLambdaSgn = (
TH2F*)massLambdaSgn->Clone();
1581 TH2F* pidmassLambdaBkg = (
TH2F*)massLambdaBkg->Clone();
1582 TH2F* pidmassLambdaBarSgn = (
TH2F*)massLambdaBarSgn->Clone();
1583 TH2F* pidmassLambdaBarBkg = (
TH2F*)massLambdaBarBkg->Clone();
1584 TH2F* pidmassGammaSgn = (
TH2F*)massGammaSgn->Clone();
1585 TH2F* pidmassGammaBkg = (
TH2F*)massGammaBkg->Clone();
1586 TH2F* pidd0K0SSgn = (
TH2F*)d0K0SSgn->Clone();
1587 TH2F* pidd0K0SBkg = (
TH2F*)d0K0SBkg->Clone();
1588 TH2F* pidd0PSgn = (
TH2F*)d0PSgn->Clone();
1589 TH2F* pidd0PBkg = (
TH2F*)d0PBkg->Clone();
1590 TH2F* pidcosPAK0SSgn = (
TH2F*)cosPAK0SSgn->Clone();
1591 TH2F* pidcosPAK0SBkg = (
TH2F*)cosPAK0SBkg->Clone();
1592 TH2F* pidcosThePrSgn = (
TH2F*)cosThePrSgn->Clone();
1593 TH2F* pidcosThePrBkg = (
TH2F*)cosThePrBkg->Clone();
1594 TH2F* pidresignedD0Sgn = (
TH2F*)resignedD0Sgn->Clone();
1595 TH2F* pidresignedD0Bkg = (
TH2F*)resignedD0Bkg->Clone();
1649 TH2F* pidTRptK0SSgn = (
TH2F*)ptK0SSgn->Clone();
1650 TH2F* pidTRptK0SBkg = (
TH2F*)ptK0SBkg->Clone();
1651 TH2F* pidTRptPSgn = (
TH2F*)ptPSgn->Clone();
1652 TH2F* pidTRptPBkg = (
TH2F*)ptPBkg->Clone();
1653 TH2F* pidTRptPiPSgn = (
TH2F*)ptPiPSgn->Clone();
1654 TH2F* pidTRptPiPBkg = (
TH2F*)ptPiPBkg->Clone();
1655 TH2F* pidTRptPiMSgn = (
TH2F*)ptPiMSgn->Clone();
1656 TH2F* pidTRptPiMBkg = (
TH2F*)ptPiMBkg->Clone();
1657 TH2F* pidTRmassLambdaSgn = (
TH2F*)massLambdaSgn->Clone();
1658 TH2F* pidTRmassLambdaBkg = (
TH2F*)massLambdaBkg->Clone();
1659 TH2F* pidTRmassLambdaBarSgn = (
TH2F*)massLambdaBarSgn->Clone();
1660 TH2F* pidTRmassLambdaBarBkg = (
TH2F*)massLambdaBarBkg->Clone();
1661 TH2F* pidTRmassGammaSgn = (
TH2F*)massGammaSgn->Clone();
1662 TH2F* pidTRmassGammaBkg = (
TH2F*)massGammaBkg->Clone();
1663 TH2F* pidTRcosPAK0SSgn = (
TH2F*)cosPAK0SSgn->Clone();
1664 TH2F* pidTRcosPAK0SBkg = (
TH2F*)cosPAK0SBkg->Clone();
1665 TH2F* pidTRcosThePrSgn = (
TH2F*)cosThePrSgn->Clone();
1666 TH2F* pidTRcosThePrBkg = (
TH2F*)cosThePrBkg->Clone();
1667 TH2F* pidTRresignedD0Sgn = (
TH2F*)resignedD0Sgn->Clone();
1668 TH2F* pidTRresignedD0Bkg = (
TH2F*)resignedD0Bkg->Clone();
1696 nameHistoSgn=
"histK0SMassOfflineSgn";
1697 nameHistoBkg=
"histK0SMassOfflineBkg";
1698 titleHistoSgn=
"K^{0}_{S} - sgn: invariant mass VS p_{T} - MC; p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(#pi^{+},#pi^{-}) [GeV/c^{2}]; Entries";
1699 titleHistoBkg=
"K^{0}_{S} - bkg: invariant mass VS p_{T} - MC; p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(#pi^{+},#pi^{-}) [GeV/c^{2}]; Entries";
1700 TH2F* spectrumK0SMassOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,1000,mK0SPDG-0.050,mK0SPDG+0.050);
1701 TH2F* spectrumK0SMassOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,1000,mK0SPDG-0.050,mK0SPDG+0.050);
1703 nameHistoSgn=
"histLcMassByK0SOfflineSgn";
1704 nameHistoBkg=
"histLcMassByK0SOfflineBkg";
1705 titleHistoSgn=
"#Lambda_{c} - sgn: invariant mass (by K^{0}_{S}) vs p_{T} - MC; m_{inv}(p,K^{0}_{S}) [GeV/c^{2}]; p_{T}(#Lambda_{c}) [GeV/c]";
1706 titleHistoBkg=
"#Lambda_{c} - bkg: invariant mass (by K^{0}_{S}) vs p_{T} - MC; m_{inv}(p,K^{0}_{S}) [GeV/c^{2}]; p_{T}(#Lambda_{c}) [GeV/c]";
1707 TH2F* spectrumLcMassOfflineByK0SSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),1000,mLcPDG-0.250,mLcPDG+0.250,11,binLimpTLc);
1708 TH2F* spectrumLcMassOfflineByK0SBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),1000,mLcPDG-0.250,mLcPDG+0.250,11,binLimpTLc);
1710 nameHistoSgn=
"histpK0SvspOfflineSgn";
1711 nameHistoBkg=
"histpK0SvspOfflineBkg";
1712 titleHistoSgn=
"#Lambda_{c} - sgn: K^{0}_{S} vs p Total Momentum Distribution - Offline - MC; p(p) [GeV/c]; p(K^{0}_{S}) [GeV/c]";
1713 titleHistoBkg=
"#Lambda_{c} - bkg: K^{0}_{S} vs p Total Momentum Distribution - Offline - MC; p(p) [GeV/c]; p(K^{0}_{S}) [GeV/c]";
1714 TH2F* momentumDistributionK0SvspOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),41,binLimpTprong,41,binLimpTprong);
1715 TH2F* momentumDistributionK0SvspOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),41,binLimpTprong,41,binLimpTprong);
1718 nameHistoSgn=
"histArmPodK0SOfflineSgn";
1719 nameHistoBkg=
"histArmPodK0SOfflineBkg";
1720 titleHistoSgn=
"V0-candidate Armenteros-Podolanski distribution (sgn) -offline-; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1721 titleHistoBkg=
"V0-candidate Armenteros-Podolanski distribution (bkg) -offline-; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1722 TH2F* armenterosPodK0SOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),200,-1.,1.,300,0.,0.3);
1723 TH2F* armenterosPodK0SOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),200,-1.,1.,300,0.,0.3);
1725 nameHistoSgn=
"histArmPodLcOfflineSgn";
1726 nameHistoBkg=
"histArmPodLcOfflineBkg";
1727 titleHistoSgn=
"#Lambda_{c}-candidate Armenteros-Podolanski distribution (sgn) -offline-; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1728 titleHistoBkg=
"#Lambda_{c}-candidate Armenteros-Podolanski distribution (bkg) -offline-; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1729 TH2F* armenterosPodLcOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),200,-4.,4.,800,0.,1.6);
1730 TH2F* armenterosPodLcOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),200,-4.,4.,800,0.,1.6);
1733 TH2F* allspectrumK0SMassOfflineSgn = (
TH2F*)spectrumK0SMassOfflineSgn->Clone();
1734 TH2F* allspectrumK0SMassOfflineBkg = (
TH2F*) spectrumK0SMassOfflineBkg->Clone();
1735 TH2F* allspectrumLcMassOfflineByK0SSgn = (
TH2F*)spectrumLcMassOfflineByK0SSgn->Clone();
1736 TH2F* allspectrumLcMassOfflineByK0SBkg = (
TH2F*) spectrumLcMassOfflineByK0SBkg->Clone();
1737 TH2F* allmomentumDistributionK0SvspOfflineSgn = (
TH2F*)momentumDistributionK0SvspOfflineSgn->Clone();
1738 TH2F* allmomentumDistributionK0SvspOfflineBkg = (
TH2F*)momentumDistributionK0SvspOfflineBkg->Clone();
1739 TH2F* allArmenterosPodK0SOfflineSgn = (
TH2F*)armenterosPodK0SOfflineSgn->Clone();
1740 TH2F* allArmenterosPodK0SOfflineBkg = (
TH2F*)armenterosPodK0SOfflineBkg->Clone();
1741 TH2F* allArmenterosPodLcOfflineSgn = (
TH2F*)armenterosPodLcOfflineSgn->Clone();
1742 TH2F* allArmenterosPodLcOfflineBkg = (
TH2F*)armenterosPodLcOfflineBkg->Clone();
1744 TH2F* pidBachspectrumLcMassOfflineByK0SSgn = (
TH2F*)spectrumLcMassOfflineByK0SSgn->Clone();
1745 TH2F* pidBachspectrumLcMassOfflineByK0SBkg = (
TH2F*) spectrumLcMassOfflineByK0SBkg->Clone();
1746 TH2F* pidBachspectrumK0SMassOfflineSgn = (
TH2F*)spectrumK0SMassOfflineSgn->Clone();
1747 TH2F* pidBachspectrumK0SMassOfflineBkg = (
TH2F*) spectrumK0SMassOfflineBkg->Clone();
1748 TH2F* pidBachmomentumDistributionK0SvspOfflineSgn = (
TH2F*)momentumDistributionK0SvspOfflineSgn->Clone();
1749 TH2F* pidBachmomentumDistributionK0SvspOfflineBkg = (
TH2F*)momentumDistributionK0SvspOfflineBkg->Clone();
1750 TH2F* pidBachArmenterosPodK0SOfflineSgn = (
TH2F*)armenterosPodK0SOfflineSgn->Clone();
1751 TH2F* pidBachArmenterosPodK0SOfflineBkg = (
TH2F*)armenterosPodK0SOfflineBkg->Clone();
1752 TH2F* pidBachArmenterosPodLcOfflineSgn = (
TH2F*)armenterosPodLcOfflineSgn->Clone();
1753 TH2F* pidBachArmenterosPodLcOfflineBkg = (
TH2F*)armenterosPodLcOfflineBkg->Clone();
1755 fOutputAll->Add(allspectrumK0SMassOfflineSgn);
1756 fOutputAll->Add(allspectrumK0SMassOfflineBkg);
1757 fOutputAll->Add(allspectrumLcMassOfflineByK0SSgn);
1758 fOutputAll->Add(allspectrumLcMassOfflineByK0SBkg);
1759 fOutputAll->Add(allmomentumDistributionK0SvspOfflineSgn);
1760 fOutputAll->Add(allmomentumDistributionK0SvspOfflineBkg);
1761 fOutputAll->Add(allArmenterosPodK0SOfflineSgn);
1762 fOutputAll->Add(allArmenterosPodK0SOfflineBkg);
1763 fOutputAll->Add(allArmenterosPodLcOfflineSgn);
1764 fOutputAll->Add(allArmenterosPodLcOfflineBkg);
1770 fOutputPIDBach->Add(pidBachmomentumDistributionK0SvspOfflineSgn);
1771 fOutputPIDBach->Add(pidBachmomentumDistributionK0SvspOfflineBkg);
1777 nameHistoSgn=
"histArmPodK0SOfflineSgn0";
1778 nameHistoBkg=
"histArmPodK0SOfflineBkg0";
1779 titleHistoSgn=
"V0-candidate Armenteros-Podolanski distribution (sgn) -offline-; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1780 titleHistoBkg=
"V0-candidate Armenteros-Podolanski distribution (bkg) -offline-; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1781 TH2F* armenterosPodK0SOfflineSgn0 =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),200,-1.,1.,300,0.,0.3);
1782 TH2F* armenterosPodK0SOfflineBkg0 =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),200,-1.,1.,300,0.,0.3);
1783 nameHistoSgn=
"histArmPodLcOfflineSgn0";
1784 nameHistoBkg=
"histArmPodLcOfflineBkg0";
1785 titleHistoSgn=
"#Lambda_{c}-candidate Armenteros-Podolanski distribution (sgn) -offline-; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1786 titleHistoBkg=
"#Lambda_{c}-candidate Armenteros-Podolanski distribution (bkg) -offline-; #frac{p_{L}^{+}-p_{L}^{-}}{p_{L}^{+}+p_{L}^{-}}; p_{T}^{+} [GeV/c]";
1787 TH2F* armenterosPodLcOfflineSgn0 =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),200,-4.,4.,800,0.,1.6);
1788 TH2F* armenterosPodLcOfflineBkg0 =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),200,-4.,4.,800,0.,1.6);
1789 fOutputAll->Add(armenterosPodK0SOfflineSgn0);
1790 fOutputAll->Add(armenterosPodK0SOfflineBkg0);
1795 TH2F* pidBachTRspectrumLcMassOfflineByK0SSgn = (
TH2F*)spectrumLcMassOfflineByK0SSgn->Clone();
1796 TH2F* pidBachTRspectrumLcMassOfflineByK0SBkg = (
TH2F*) spectrumLcMassOfflineByK0SBkg->Clone();
1804 nameHistoSgn=
"histptK0SOfflineSgn";
1805 nameHistoBkg=
"histptK0SOfflineBkg";
1806 titleHistoSgn=
"p_{T}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(K^{0}_{S}) [GeV/c]; Entries";
1807 titleHistoBkg=
"p_{T}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(K^{0}_{S}) [GeV/c]; Entries";
1808 TH2F* ptK0SOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,41,binLimpTprong);
1809 TH2F* ptK0SOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,41,binLimpTprong);
1811 nameHistoSgn=
"histptPOfflineSgn";
1812 nameHistoBkg=
"histptPOfflineBkg";
1813 titleHistoSgn=
"p_{T}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(p) [GeV/c]; Entries";
1814 titleHistoBkg=
"p_{T}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(p) [GeV/c]; Entries";
1815 TH2F* ptPOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,41,binLimpTprong);
1816 TH2F* ptPOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,41,binLimpTprong);
1818 nameHistoSgn=
"histptPipOfflineSgn";
1819 nameHistoBkg=
"histptPipOfflineBkg";
1820 titleHistoSgn=
"p_{T}(#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{+}) [GeV/c]; Entries";
1821 titleHistoBkg=
"p_{T}(#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{+}) [GeV/c]; Entries";
1822 TH2F* ptPiPOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,41,binLimpTprong);
1823 TH2F* ptPiPOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,41,binLimpTprong);
1825 nameHistoSgn=
"histptPimOfflineSgn";
1826 nameHistoBkg=
"histptPimOfflineBkg";
1827 titleHistoSgn=
"p_{T}(#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{-}) [GeV/c]; Entries";
1828 titleHistoBkg=
"p_{T}(#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{-}) [GeV/c]; Entries";
1829 TH2F* ptPiMOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,41,binLimpTprong);
1830 TH2F* ptPiMOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,41,binLimpTprong);
1832 nameHistoSgn=
"histLambdaMassOfflineSgn";
1833 nameHistoBkg=
"histLambdaMassOfflineBkg";
1834 titleHistoSgn=
"m_{inv}(p,#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(p,#pi^{-}) [GeV/c^{2}]; Entries";
1835 titleHistoBkg=
"m_{inv}(p,#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(p,#pi^{-}) [GeV/c^{2}]; Entries";
1836 TH2F* massLambdaOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,1000,mMinLambdaPDG,mMinLambdaPDG+0.5);
1837 TH2F* massLambdaOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,1000,mMinLambdaPDG,mMinLambdaPDG+0.5);
1839 nameHistoSgn=
"histLambdaBarMassOfflineSgn";
1840 nameHistoBkg=
"histLambdaBarMassOfflineBkg";
1841 titleHistoSgn=
"m_{inv}(#bar{p},#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(#bar{p},#pi^{+}) [GeV/c^{2}]; Entries";
1842 titleHistoBkg=
"m_{inv}(#bar{p},#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(#bar{p},#pi^{+}) [GeV/c^{2}]; Entries";
1843 TH2F* massLambdaBarOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,1000,mMinLambdaPDG,mMinLambdaPDG+0.5);
1844 TH2F* massLambdaBarOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,1000,mMinLambdaPDG,mMinLambdaPDG+0.5);
1846 nameHistoSgn=
"histGammaMassOfflineSgn";
1847 nameHistoBkg=
"histGammaMassOfflineBkg";
1848 titleHistoSgn=
"m_{inv}(e^{+},e^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(e^{+},e^{-}) [GeV/c^{2}]; Entries";
1849 titleHistoBkg=
"m_{inv}(e^{+},e^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; m_{inv}(e^{+},e^{-}) [GeV/c^{2}]; Entries";
1850 TH2F* massGammaOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,100,0.,1.);
1851 TH2F* massGammaOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,100,0.,1.);
1853 nameHistoSgn=
"histD0K0SOfflineSgn";
1854 nameHistoBkg=
"histD0K0SOfflineBkg";
1855 titleHistoSgn=
"d_{0}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(K^{0}_{S}) [#sigmas]; Entries";
1856 titleHistoBkg=
"d_{0}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(K^{0}_{S}) [#sigmas]; Entries";
1857 TH2F* d0K0SOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,1000,-1.,1.);
1858 TH2F* d0K0SOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,1000,-1.,1.);
1860 nameHistoSgn=
"histD0POfflineSgn";
1861 nameHistoBkg=
"histD0POfflineBkg";
1862 titleHistoSgn=
"d_{0}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(p) [cm]; Entries";
1863 titleHistoBkg=
"d_{0}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(p) [cm]; Entries";
1864 TH2F* d0POfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),11,binLimpTLc,1000,-1.,1.);
1865 TH2F* d0POfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),11,binLimpTLc,1000,-1.,1.);
1867 nameHistoSgn=
"histCosPAK0SOfflineSgn";
1868 nameHistoBkg=
"histCosPAK0SOfflineBkg";
1869 titleHistoSgn=
"K^{0}_{S} cosine of pointing angle wrt primary vertex vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
1870 titleHistoBkg=
"K^{0}_{S} cosine of pointing angle wrt primary vertex vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
1871 TH2F *cosPAK0SOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),41,binLimpTprong,100,0.99,1.);
1872 TH2F *cosPAK0SOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),41,binLimpTprong,100,0.99,1.);
1874 nameHistoSgn=
"histCosThetaProtonCMSOfflineSgn";
1875 nameHistoBkg=
"histCosThetaProtonCMSOfflineBkg";
1876 titleHistoSgn=
"cosien of proton emission angle in Lc rest frame; p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
1877 titleHistoBkg=
"cosien of proton emission angle in Lc rest frame; p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
1878 TH2F *cosThePrOfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),41,binLimpTprong,100,-1.,1.);
1879 TH2F *cosThePrOfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),41,binLimpTprong,100,-1.,1.);
1882 nameHistoSgn=
"histResignedD0OfflineSgn";
1883 nameHistoBkg=
"histResignedD0OfflineBkg";
1884 titleHistoSgn=
"Proton d0 with different sign convention; p_{T}(#Lambda_{c}) [GeV/c]; d0 [cm]; Entries";
1885 titleHistoBkg=
"Proton d0 with different sign convention; p_{T}(#Lambda_{c}) [GeV/c]; d0 [cm]; Entries";
1886 TH2F *resignedD0OfflineSgn =
new TH2F(nameHistoSgn.Data(),titleHistoSgn.Data(),41,binLimpTprong,100,-0.1,0.1);
1887 TH2F *resignedD0OfflineBkg =
new TH2F(nameHistoBkg.Data(),titleHistoBkg.Data(),41,binLimpTprong,100,-0.1,0.1);
1889 TH2F* allptK0SOfflineSgn = (
TH2F*)ptK0SOfflineSgn->Clone();
1890 TH2F* allptK0SOfflineBkg = (
TH2F*)ptK0SOfflineBkg->Clone();
1891 TH2F* allptPOfflineSgn = (
TH2F*)ptPOfflineSgn->Clone();
1892 TH2F* allptPOfflineBkg = (
TH2F*)ptPOfflineBkg->Clone();
1893 TH2F* allptPiPOfflineSgn = (
TH2F*)ptPiPOfflineSgn->Clone();
1894 TH2F* allptPiPOfflineBkg = (
TH2F*)ptPiPOfflineBkg->Clone();
1895 TH2F* allptPiMOfflineSgn = (
TH2F*)ptPiMOfflineSgn->Clone();
1896 TH2F* allptPiMOfflineBkg = (
TH2F*)ptPiMOfflineBkg->Clone();
1897 TH2F* allmassLambdaOfflineSgn = (
TH2F*)massLambdaOfflineSgn->Clone();
1898 TH2F* allmassLambdaOfflineBkg = (
TH2F*)massLambdaOfflineBkg->Clone();
1899 TH2F* allmassLambdaBarOfflineSgn = (
TH2F*)massLambdaBarOfflineSgn->Clone();
1900 TH2F* allmassLambdaBarOfflineBkg = (
TH2F*)massLambdaBarOfflineBkg->Clone();
1901 TH2F* allmassGammaOfflineSgn = (
TH2F*)massGammaOfflineSgn->Clone();
1902 TH2F* allmassGammaOfflineBkg = (
TH2F*)massGammaOfflineBkg->Clone();
1903 TH2F* alld0K0SOfflineSgn = (
TH2F*)d0K0SOfflineSgn->Clone();
1904 TH2F* alld0K0SOfflineBkg = (
TH2F*)d0K0SOfflineBkg->Clone();
1905 TH2F* alld0POfflineSgn = (
TH2F*)d0POfflineSgn->Clone();
1906 TH2F* alld0POfflineBkg = (
TH2F*)d0POfflineBkg->Clone();
1907 TH2F* allcosPAK0SOfflineSgn = (
TH2F*)cosPAK0SOfflineSgn->Clone();
1908 TH2F* allcosPAK0SOfflineBkg = (
TH2F*)cosPAK0SOfflineBkg->Clone();
1909 TH2F* allcosThePrOfflineSgn = (
TH2F*)cosThePrOfflineSgn->Clone();
1910 TH2F* allcosThePrOfflineBkg = (
TH2F*)cosThePrOfflineBkg->Clone();
1911 TH2F* allresignedD0OfflineSgn = (
TH2F*)resignedD0OfflineSgn->Clone();
1912 TH2F* allresignedD0OfflineBkg = (
TH2F*)resignedD0OfflineBkg->Clone();
1914 TH2F* pidptK0SOfflineSgn = (
TH2F*)ptK0SOfflineSgn->Clone();
1915 TH2F* pidptK0SOfflineBkg = (
TH2F*)ptK0SOfflineBkg->Clone();
1916 TH2F* pidptPOfflineSgn = (
TH2F*)ptPOfflineSgn->Clone();
1917 TH2F* pidptPOfflineBkg = (
TH2F*)ptPOfflineBkg->Clone();
1918 TH2F* pidptPiPOfflineSgn = (
TH2F*)ptPiPOfflineSgn->Clone();
1919 TH2F* pidptPiPOfflineBkg = (
TH2F*)ptPiPOfflineBkg->Clone();
1920 TH2F* pidptPiMOfflineSgn = (
TH2F*)ptPiMOfflineSgn->Clone();
1921 TH2F* pidptPiMOfflineBkg = (
TH2F*)ptPiMOfflineBkg->Clone();
1922 TH2F* pidmassLambdaOfflineSgn = (
TH2F*)massLambdaOfflineSgn->Clone();
1923 TH2F* pidmassLambdaOfflineBkg = (
TH2F*)massLambdaOfflineBkg->Clone();
1924 TH2F* pidmassLambdaBarOfflineSgn = (
TH2F*)massLambdaBarOfflineSgn->Clone();
1925 TH2F* pidmassLambdaBarOfflineBkg = (
TH2F*)massLambdaBarOfflineBkg->Clone();
1926 TH2F* pidmassGammaOfflineSgn = (
TH2F*)massGammaOfflineSgn->Clone();
1927 TH2F* pidmassGammaOfflineBkg = (
TH2F*)massGammaOfflineBkg->Clone();
1928 TH2F* pidd0K0SOfflineSgn = (
TH2F*)d0K0SOfflineSgn->Clone();
1929 TH2F* pidd0K0SOfflineBkg = (
TH2F*)d0K0SOfflineBkg->Clone();
1930 TH2F* pidd0POfflineSgn = (
TH2F*)d0POfflineSgn->Clone();
1931 TH2F* pidd0POfflineBkg = (
TH2F*)d0POfflineBkg->Clone();
1932 TH2F* pidcosPAK0SOfflineSgn = (
TH2F*)cosPAK0SOfflineSgn->Clone();
1933 TH2F* pidcosPAK0SOfflineBkg = (
TH2F*)cosPAK0SOfflineBkg->Clone();
1934 TH2F* pidcosThePrOfflineSgn = (
TH2F*)cosThePrOfflineSgn->Clone();
1935 TH2F* pidcosThePrOfflineBkg = (
TH2F*)cosThePrOfflineBkg->Clone();
1936 TH2F* pidresignedD0OfflineSgn = (
TH2F*)resignedD0OfflineSgn->Clone();
1937 TH2F* pidresignedD0OfflineBkg = (
TH2F*)resignedD0OfflineBkg->Clone();
1991 TH2F* pidTRptK0SOfflineSgn = (
TH2F*)ptK0SOfflineSgn->Clone();
1992 TH2F* pidTRptK0SOfflineBkg = (
TH2F*)ptK0SOfflineBkg->Clone();
1993 TH2F* pidTRptPOfflineSgn = (
TH2F*)ptPOfflineSgn->Clone();
1994 TH2F* pidTRptPOfflineBkg = (
TH2F*)ptPOfflineBkg->Clone();
1995 TH2F* pidTRptPiPOfflineSgn = (
TH2F*)ptPiPOfflineSgn->Clone();
1996 TH2F* pidTRptPiPOfflineBkg = (
TH2F*)ptPiPOfflineBkg->Clone();
1997 TH2F* pidTRptPiMOfflineSgn = (
TH2F*)ptPiMOfflineSgn->Clone();
1998 TH2F* pidTRptPiMOfflineBkg = (
TH2F*)ptPiMOfflineBkg->Clone();
1999 TH2F* pidTRmassLambdaOfflineSgn = (
TH2F*)massLambdaOfflineSgn->Clone();
2000 TH2F* pidTRmassLambdaOfflineBkg = (
TH2F*)massLambdaOfflineBkg->Clone();
2001 TH2F* pidTRmassLambdaBarOfflineSgn = (
TH2F*)massLambdaBarOfflineSgn->Clone();
2002 TH2F* pidTRmassLambdaBarOfflineBkg = (
TH2F*)massLambdaBarOfflineBkg->Clone();
2003 TH2F* pidTRmassGammaOfflineSgn = (
TH2F*)massGammaOfflineSgn->Clone();
2004 TH2F* pidTRmassGammaOfflineBkg = (
TH2F*)massGammaOfflineBkg->Clone();
2005 TH2F* pidTRcosPAK0SOfflineSgn = (
TH2F*)cosPAK0SOfflineSgn->Clone();
2006 TH2F* pidTRcosPAK0SOfflineBkg = (
TH2F*)cosPAK0SOfflineBkg->Clone();
2007 TH2F* pidTRcosThePrOfflineSgn = (
TH2F*)cosThePrOfflineSgn->Clone();
2008 TH2F* pidTRcosThePrOfflineBkg = (
TH2F*)cosThePrOfflineBkg->Clone();
2009 TH2F* pidTRresignedD0OfflineSgn = (
TH2F*)resignedD0OfflineSgn->Clone();
2010 TH2F* pidTRresignedD0OfflineBkg = (
TH2F*)resignedD0OfflineBkg->Clone();
2039 TH3F *phiVSthetaVSpt =
new TH3F(
"phiVSthetaVSpt",
"",35,0.,35.,360,0.,2.*TMath::Pi(),100,40.*TMath::DegToRad(),140.*TMath::DegToRad());
2040 TH3F *phiVSthetaVSptRot =
new TH3F(
"phiVSthetaVSptRot",
"",35,0.,35.,360,0.,2.*TMath::Pi(),100,40.*TMath::DegToRad(),140.*TMath::DegToRad());
2041 TH3F *phiVSthetaVSptOffline =
new TH3F(
"phiVSthetaVSptOffline",
"",35,0.,35.,360,0.,2.*TMath::Pi(),100,40.*TMath::DegToRad(),140.*TMath::DegToRad());
2042 TH3F *phiVSthetaVSptRotOffline =
new TH3F(
"phiVSthetaVSptRotOffline",
"",35,0.,35.,360,0.,2.*TMath::Pi(),100,40.*TMath::DegToRad(),140.*TMath::DegToRad());
2063 TH3F *phiVSthetaVSptSgn =
new TH3F(
"phiVSthetaVSptSgn",
"",35,0.,35.,360,0.,2.*TMath::Pi(),100,40.*TMath::DegToRad(),140.*TMath::DegToRad());
2064 TH3F *phiVSthetaVSptRotSgn =
new TH3F(
"phiVSthetaVSptRotSgn",
"",35,0.,35.,360,0.,2.*TMath::Pi(),100,40.*TMath::DegToRad(),140.*TMath::DegToRad());
2065 TH3F *phiVSthetaVSptOfflineSgn =
new TH3F(
"phiVSthetaVSptOfflineSgn",
"",35,0.,35.,360,0.,2.*TMath::Pi(),100,40.*TMath::DegToRad(),140.*TMath::DegToRad());
2066 TH3F *phiVSthetaVSptRotOfflineSgn =
new TH3F(
"phiVSthetaVSptRotOfflineSgn",
"",35,0.,35.,360,0.,2.*TMath::Pi(),100,40.*TMath::DegToRad(),140.*TMath::DegToRad());
2072 TH3F *phiVSthetaVSptBkg =
new TH3F(
"phiVSthetaVSptBkg",
"",35,0.,35.,360,0.,2.*TMath::Pi(),100,40.*TMath::DegToRad(),140.*TMath::DegToRad());
2073 TH3F *phiVSthetaVSptRotBkg =
new TH3F(
"phiVSthetaVSptRotBkg",
"",35,0.,35.,360,0.,2.*TMath::Pi(),100,40.*TMath::DegToRad(),140.*TMath::DegToRad());
2074 TH3F *phiVSthetaVSptOfflineBkg =
new TH3F(
"phiVSthetaVSptOfflineBkg",
"",35,0.,35.,360,0.,2.*TMath::Pi(),100,40.*TMath::DegToRad(),140.*TMath::DegToRad());
2075 TH3F *phiVSthetaVSptRotOfflineBkg =
new TH3F(
"phiVSthetaVSptRotOfflineBkg",
"",35,0.,35.,360,0.,2.*TMath::Pi(),100,40.*TMath::DegToRad(),140.*TMath::DegToRad());
2106 TH3F *hMassVsPtVsY=
new TH3F(
"hMassVsPtVsY",
"",nMassBins,
fMinMass,maxm,15,0.,15.,20,-1.,1.);
2107 TH3F *hMassVsPtVsYOffline=
new TH3F(
"hMassVsPtVsYOffline",
"",nMassBins,
fMinMass,maxm,15,0.,15.,20,-1.,1.);
2121 TH3F *hMassVsPtVsYSgn=
new TH3F(
"hMassVsPtVsYSgn",
"",nMassBins,
fMinMass,maxm,15,0.,15.,20,-1.,1.);
2122 TH3F *hMassVsPtVsYOfflineSgn=
new TH3F(
"hMassVsPtVsYOfflineSgn",
"",nMassBins,
fMinMass,maxm,15,0.,15.,20,-1.,1.);
2123 TH3F *hMassVsPtVsYBkg=
new TH3F(
"hMassVsPtVsYBkg",
"",nMassBins,
fMinMass,maxm,15,0.,15.,20,-1.,1.);
2124 TH3F *hMassVsPtVsYOfflineBkg=
new TH3F(
"hMassVsPtVsYOfflineBkg",
"",nMassBins,
fMinMass,maxm,15,0.,15.,20,-1.,1.);
2145 TH3F *hMassVsPtVsYRot=
new TH3F(
"hMassVsPtVsYRot",
"",nMassBins,
fMinMass,maxm,15,0.,15.,20,-1.,1.);
2146 TH3F *hMassVsPtVsYRotOffline=
new TH3F(
"hMassVsPtVsYRotOffline",
"",nMassBins,
fMinMass,maxm,15,0.,15.,20,-1.,1.);
2160 TH3F *hMassVsPtVsYRotSgn=
new TH3F(
"hMassVsPtVsYRotSgn",
"",nMassBins,
fMinMass,maxm,15,0.,15.,20,-1.,1.);
2161 TH3F *hMassVsPtVsYRotOfflineSgn=
new TH3F(
"hMassVsPtVsYRotOfflineSgn",
"",nMassBins,
fMinMass,maxm,15,0.,15.,20,-1.,1.);
2162 TH3F *hMassVsPtVsYRotBkg=
new TH3F(
"hMassVsPtVsYRotBkg",
"",nMassBins,
fMinMass,maxm,15,0.,15.,20,-1.,1.);
2163 TH3F *hMassVsPtVsYRotOfflineBkg=
new TH3F(
"hMassVsPtVsYRotOfflineBkg",
"",nMassBins,
fMinMass,maxm,15,0.,15.,20,-1.,1.);
2183 TH1F *hDeltaMass=
new TH1F(
"hDeltaMass",
"",100,-0.4,0.4);
2184 TH1F *hDeltaMassOffline=
new TH1F(
"hDeltaMassOffline",
"",100,-0.4,0.4);
2198 TH1F *hDeltaMassSgn=
new TH1F(
"hDeltaMassSgn",
"",100,-0.4,0.4);
2199 TH1F *hDeltaMassOfflineSgn=
new TH1F(
"hDeltaMassOfflineSgn",
"",100,-0.4,0.4);
2200 TH1F *hDeltaMassBkg=
new TH1F(
"hDeltaMassBkg",
"",100,-0.4,0.4);
2201 TH1F *hDeltaMassOfflineBkg=
new TH1F(
"hDeltaMassOfflineBkg",
"",100,-0.4,0.4);
2250 TH2D *hMassvsPtInclusiveK0S =
new TH2D(
"hMassvsPtInclusiveK0S",
"",100,mK0SPDG-0.05,mK0SPDG+0.05,20,0.,10.);
2251 TH2D *hMassvsPtInclusiveK0SSgn =
new TH2D(
"hMassvsPtInclusiveK0SSgn",
"",100,mK0SPDG-0.05,mK0SPDG+0.05,20,0.,10.);
2252 TH3D *hMassvsPtInclusiveLambda =
new TH3D(
"hMassvsPtInclusiveLambda",
"",100,mLPDG-0.025,mLPDG+0.025,20,0.,10.,62,0.,62);
2253 TH3D *hMassvsPtInclusiveLambdaLoosePID =
new TH3D(
"hMassvsPtInclusiveLambdaLoosePID",
"",100,mLPDG-0.025,mLPDG+0.025,20,0.,10.,62,0.,62);
2254 TH3D *hMassvsPtInclusiveLambdaSgn =
new TH3D(
"hMassvsPtInclusiveLambdaSgn",
"",100,mLPDG-0.025,mLPDG+0.025,20,0.,10.,62,0.,62);
2255 TH3D *hMassvsPtInclusiveLambdaLoosePIDSgn =
new TH3D(
"hMassvsPtInclusiveLambdaLoosePIDSgn",
"",100,mLPDG-0.025,mLPDG+0.025,20,0.,10.,62,0.,62);
2256 TH3D *hMassvsPtInclusiveLambdaPID = (
TH3D*)hMassvsPtInclusiveLambda->Clone();
2257 TH3D *hMassvsPtInclusiveLambdaPIDSgn = (
TH3D*)hMassvsPtInclusiveLambdaSgn->Clone();
2258 TH3D *hMassvsPtInclusiveLambdaCosThetaStarPID =
new TH3D(
"hMassvsPtInclusiveLambdaCosThetaStarPID",
"",100,mLPDG-0.025,mLPDG+0.025,20,0.,10.,40,-1.,1.);
2259 TH3D *hMassvsPtInclusiveLambdaCosThetaStarPIDSgn =
new TH3D(
"hMassvsPtInclusiveLambdaCosThetaStarPIDSgn",
"",100,mLPDG-0.025,mLPDG+0.025,20,0.,10.,40,-1.,1.);
2263 fOutputAll->Add(hMassvsPtInclusiveLambdaLoosePID);
2265 fOutputAll->Add(hMassvsPtInclusiveLambdaSgn);
2266 fOutputAll->Add(hMassvsPtInclusiveLambdaLoosePIDSgn);
2282 TClonesArray *mcArray,
2292 Double_t mLPDG = TDatabasePDG::Instance()->GetParticle(3122)->Mass();
2294 Int_t nTracks = aodEvent->GetNumberOfTracks();
2295 Int_t nV0s = aodEvent->GetNumberOfV0s();
2299 const AliESDVertex vESD(pos,cov,100.,100);
2306 for (
Int_t iv0 = 0; iv0<nV0s; iv0++) {
2307 AliAODv0 *v0 = aodEvent->GetV0(iv0);
2309 AliAODTrack *ptrk =
dynamic_cast<AliAODTrack*
>(v0->GetDaughter(0));
2310 if (!ptrk)
continue;
2311 AliAODTrack *ntrk =
dynamic_cast<AliAODTrack*
>(v0->GetDaughter(1));
2312 if (!ntrk)
continue;
2314 Float_t etaMin=0, etaMax=0; v0trkCuts->GetEtaRange(etaMin,etaMax);
2315 if ( (ptrk->Eta()<=etaMin || ptrk->Eta()>=etaMax) ||
2316 (ntrk->Eta()<=etaMin || ntrk->Eta()>=etaMax) )
continue;
2318 if ( (ptrk->Pt()<=ptMin || ptrk->Pt()>=
ptMax) ||
2319 (ntrk->Pt()<=ptMin || ntrk->Pt()>=
ptMax) )
continue;
2322 if (v0trkCuts->GetMinNClusterTPC()>0) {
2323 if ( ( ( ptrk->GetTPCClusterInfo(2,1) ) < v0trkCuts->GetMinNClusterTPC() ) ||
2324 ( ( ntrk->GetTPCClusterInfo(2,1) ) < v0trkCuts->GetMinNClusterTPC() ) )
continue;
2327 if (v0trkCuts->GetMinRatioCrossedRowsOverFindableClustersTPC()>0.5) {
2328 Float_t ratioCrossedRowsOverFindableClustersTPCPos = 1.0;
2329 Float_t ratioCrossedRowsOverFindableClustersTPCNeg = 1.0;
2330 if (ptrk->GetTPCNclsF()>0) {
2331 ratioCrossedRowsOverFindableClustersTPCPos = ptrk->GetTPCClusterInfo(2,1) / ptrk->GetTPCNclsF();
2333 if (ntrk->GetTPCNclsF()>0) {
2334 ratioCrossedRowsOverFindableClustersTPCNeg = ntrk->GetTPCClusterInfo(2,1) / ntrk->GetTPCNclsF();
2336 if ( ( ( ratioCrossedRowsOverFindableClustersTPCPos ) < v0trkCuts->GetMinRatioCrossedRowsOverFindableClustersTPC() ) ||
2337 ( ( ratioCrossedRowsOverFindableClustersTPCNeg ) < v0trkCuts->GetMinRatioCrossedRowsOverFindableClustersTPC() ) )
continue;
2341 if (v0->GetOnFlyStatus()==kFALSE) {
2342 if (v0trkCuts->GetRequireTPCRefit()) {
2343 if( !(ptrk->GetStatus() & AliESDtrack::kTPCrefit))
continue;
2344 if( !(ntrk->GetStatus() & AliESDtrack::kTPCrefit))
continue;
2348 AliESDtrack esdTrackP(ptrk);
2349 esdTrackP.SetTPCClusterMap(ptrk->GetTPCClusterMap());
2350 esdTrackP.SetTPCSharedMap(ptrk->GetTPCSharedMap());
2351 esdTrackP.SetTPCPointsF(ptrk->GetTPCNclsF());
2352 esdTrackP.RelateToVertex(&vESD,0.,3.);
2354 AliESDtrack esdTrackN(ntrk);
2355 esdTrackN.SetTPCClusterMap(ntrk->GetTPCClusterMap());
2356 esdTrackN.SetTPCSharedMap(ntrk->GetTPCSharedMap());
2357 esdTrackN.SetTPCPointsF(ntrk->GetTPCNclsF());
2358 esdTrackN.RelateToVertex(&vESD,0.,3.);
2362 if(tmptxt.Contains(
"pt")){
2363 tmptxt.ReplaceAll(
"pt",
"x");
2364 TF1 funcCutMin(
"funcCutMin",tmptxt);
2365 Float_t nCrossedRowsTPCP = esdTrackP.GetTPCCrossedRows();
2366 Float_t nCrossedRowsTPCN = esdTrackN.GetTPCCrossedRows();
2367 if(nCrossedRowsTPCP<funcCutMin.Eval(esdTrackP.Pt()))
continue;
2368 if(nCrossedRowsTPCN<funcCutMin.Eval(esdTrackN.Pt()))
continue;
2373 Float_t nCrossedRowsTPCP = esdTrackP.GetTPCCrossedRows();
2374 Float_t nCrossedRowsTPCN = esdTrackN.GetTPCCrossedRows();
2375 Float_t nClustersTPCP = esdTrackP.GetTPCNcls();
2376 Float_t nClustersTPCN = esdTrackN.GetTPCNcls();
2377 if(nCrossedRowsTPCP!=0){
2378 Float_t ratioP = nClustersTPCP/nCrossedRowsTPCP;
2379 if(ratioP<fAnalCuts->GetMinRatioClsOverCrossRowsTPC())
continue;
2382 if(nCrossedRowsTPCN!=0){
2383 Float_t ratioN = nClustersTPCN/nCrossedRowsTPCN;
2384 if(ratioN<fAnalCuts->GetMinRatioClsOverCrossRowsTPC())
continue;
2391 Float_t nCrossedRowsTPCP = esdTrackP.GetTPCCrossedRows();
2392 Float_t nCrossedRowsTPCN = esdTrackN.GetTPCCrossedRows();
2393 Float_t nTPCsignalP = esdTrackP.GetTPCsignalN();
2394 Float_t nTPCsignalN = esdTrackN.GetTPCsignalN();
2395 if(nCrossedRowsTPCP!=0){
2396 Float_t ratioP = nTPCsignalP/nCrossedRowsTPCP;
2397 if(ratioP<fAnalCuts->GetMinRatioSignalNOverCrossRowsTPC())
continue;
2400 if(nCrossedRowsTPCN!=0){
2401 Float_t ratioN = nTPCsignalN/nCrossedRowsTPCN;
2402 if(ratioN<fAnalCuts->GetMinRatioSignalNOverCrossRowsTPC())
continue;
2408 if (!v0trkCuts->GetAcceptKinkDaughters()) {
2409 AliAODVertex *maybeKinkPos = (AliAODVertex*)ptrk->GetProdVertex();
2410 AliAODVertex *maybeKinkNeg = (AliAODVertex*)ntrk->GetProdVertex();
2411 if (maybeKinkPos->GetType()==AliAODVertex::kKink ||
2412 maybeKinkNeg->GetType()==AliAODVertex::kKink)
continue;
2426 ((
TH2D*)(
fOutputAll->FindObject(
"hMassvsPtInclusiveK0S")))->Fill(v0->MassK0Short(),v0->Pt());
2429 Int_t pdgdgv0[2]={211,211};
2430 Int_t labV0 = v0->MatchToMC(310,mcArray,2,pdgdgv0);
2432 AliAODMCParticle *mcv0 = (AliAODMCParticle*) mcArray->At(labV0);
2434 ((
TH2D*)(
fOutputAll->FindObject(
"hMassvsPtInclusiveK0SSgn")))->Fill(v0->MassK0Short(),v0->Pt());
2441 for (
Int_t iv0 = 0; iv0<nV0s; iv0++) {
2442 AliAODv0 *v0 = aodEvent->GetV0(iv0);
2444 AliAODTrack *ptrk =
dynamic_cast<AliAODTrack*
>(v0->GetDaughter(0));
2445 if (!ptrk)
continue;
2446 AliAODTrack *ntrk =
dynamic_cast<AliAODTrack*
>(v0->GetDaughter(1));
2447 if (!ntrk)
continue;
2449 Float_t etaMin=0, etaMax=0; trkCuts->GetEtaRange(etaMin,etaMax);
2450 if ( (ptrk->Eta()<=etaMin || ptrk->Eta()>=etaMax) ||
2451 (ntrk->Eta()<=etaMin || ntrk->Eta()>=etaMax) )
continue;
2453 if ( (ptrk->Pt()<=ptMin || ptrk->Pt()>=
ptMax) ||
2454 (ntrk->Pt()<=ptMin || ntrk->Pt()>=
ptMax) )
continue;
2458 if (v0->GetOnFlyStatus()==kFALSE) {
2459 if (trkCuts->GetRequireTPCRefit()) {
2460 if( !(ptrk->GetStatus() & AliESDtrack::kTPCrefit))
continue;
2461 if( !(ntrk->GetStatus() & AliESDtrack::kTPCrefit))
continue;
2466 if (!trkCuts->GetAcceptKinkDaughters()) {
2467 AliAODVertex *maybeKinkPos = (AliAODVertex*)ptrk->GetProdVertex();
2468 AliAODVertex *maybeKinkNeg = (AliAODVertex*)ntrk->GetProdVertex();
2469 if (maybeKinkPos->GetType()==AliAODVertex::kKink ||
2470 maybeKinkNeg->GetType()==AliAODVertex::kKink)
continue;
2474 Double_t dR = TMath::Sqrt(v0->DecayVertexV0X()*v0->DecayVertexV0X()+v0->DecayVertexV0Y()*v0->DecayVertexV0Y());
2475 if(dR>40.)
continue;
2484 if(TMath::Abs(v0->MassLambda()-mLPDG)<0.02) LType += 1;
2485 if(TMath::Abs(v0->MassAntiLambda()-mLPDG)<0.02) LType += 2;
2486 if(LType==3)
continue;
2489 Bool_t okLcLambdaBarPi = kTRUE;
2490 Bool_t okLcLambdaPi = kTRUE;
2492 AliAODMCParticle *mcv0 = 0x0;
2494 Int_t pdgdgv0[2]={2212,211};
2495 Int_t labV0 = v0->MatchToMC(3122,mcArray,2,pdgdgv0);
2497 mcv0 = (AliAODMCParticle*) mcArray->At(labV0);
2501 AliESDtrack esdTrackP(ptrk);
2502 esdTrackP.SetTPCClusterMap(ptrk->GetTPCClusterMap());
2503 esdTrackP.SetTPCSharedMap(ptrk->GetTPCSharedMap());
2504 esdTrackP.SetTPCPointsF(ptrk->GetTPCNclsF());
2505 esdTrackP.RelateToVertex(&vESD,0.,3.);
2507 AliESDtrack esdTrackN(ntrk);
2508 esdTrackN.SetTPCClusterMap(ntrk->GetTPCClusterMap());
2509 esdTrackN.SetTPCSharedMap(ntrk->GetTPCSharedMap());
2510 esdTrackN.SetTPCPointsF(ntrk->GetTPCNclsF());
2511 esdTrackN.RelateToVertex(&vESD,0.,3.);
2514 if (trkCuts->GetMinNClusterTPC()>0) {
2516 if ( ( ( ptrk->GetTPCClusterInfo(2,1) ) < trkCuts->GetMinNClusterTPC() ) ||
2517 ( ( ntrk->GetTPCClusterInfo(2,1) ) < 70 ) )
continue;
2520 if ( ( ( ntrk->GetTPCClusterInfo(2,1) ) < trkCuts->GetMinNClusterTPC() ) ||
2521 ( ( ptrk->GetTPCClusterInfo(2,1) ) < 70 ) )
continue;
2525 if (trkCuts->GetMinRatioCrossedRowsOverFindableClustersTPC()>0.5) {
2526 Float_t ratioCrossedRowsOverFindableClustersTPCPos = 1.0;
2527 Float_t ratioCrossedRowsOverFindableClustersTPCNeg = 1.0;
2528 if (ptrk->GetTPCNclsF()>0) {
2529 ratioCrossedRowsOverFindableClustersTPCPos = ptrk->GetTPCClusterInfo(2,1) / ptrk->GetTPCNclsF();
2531 if (ntrk->GetTPCNclsF()>0) {
2532 ratioCrossedRowsOverFindableClustersTPCNeg = ntrk->GetTPCClusterInfo(2,1) / ntrk->GetTPCNclsF();
2535 if ( ( ( ratioCrossedRowsOverFindableClustersTPCPos ) < trkCuts->GetMinRatioCrossedRowsOverFindableClustersTPC() ) ||
2536 ( ( ratioCrossedRowsOverFindableClustersTPCNeg ) < 0.8 ) )
continue;
2539 if ( ( ( ratioCrossedRowsOverFindableClustersTPCNeg ) < trkCuts->GetMinRatioCrossedRowsOverFindableClustersTPC() ) ||
2540 ( ( ratioCrossedRowsOverFindableClustersTPCPos ) < 0.8 ) )
continue;
2546 if(tmptxt.Contains(
"pt")){
2547 tmptxt.ReplaceAll(
"pt",
"x");
2548 TF1 funcCutMin(
"funcCutMin",tmptxt);
2549 Float_t nCrossedRowsTPCP = esdTrackP.GetTPCCrossedRows();
2550 Float_t nCrossedRowsTPCN = esdTrackN.GetTPCCrossedRows();
2551 if(LType==1 && nCrossedRowsTPCP<funcCutMin.Eval(esdTrackP.Pt()))
continue;
2552 if(LType==2 && nCrossedRowsTPCN<funcCutMin.Eval(esdTrackN.Pt()))
continue;
2557 Float_t nCrossedRowsTPCP = esdTrackP.GetTPCCrossedRows();
2558 Float_t nCrossedRowsTPCN = esdTrackN.GetTPCCrossedRows();
2559 Float_t nClustersTPCP = esdTrackP.GetTPCNcls();
2560 Float_t nClustersTPCN = esdTrackN.GetTPCNcls();
2562 if(nCrossedRowsTPCP!=0){
2563 Float_t ratioP = nClustersTPCP/nCrossedRowsTPCP;
2564 if(ratioP<fAnalCuts->GetMinRatioClsOverCrossRowsTPC())
continue;
2570 if(nCrossedRowsTPCN!=0){
2571 Float_t ratioN = nClustersTPCN/nCrossedRowsTPCN;
2572 if(ratioN<fAnalCuts->GetMinRatioClsOverCrossRowsTPC())
continue;
2580 Float_t nCrossedRowsTPCP = esdTrackP.GetTPCCrossedRows();
2581 Float_t nCrossedRowsTPCN = esdTrackN.GetTPCCrossedRows();
2582 Float_t nTPCsignalP = esdTrackP.GetTPCsignalN();
2583 Float_t nTPCsignalN = esdTrackN.GetTPCsignalN();
2585 if(nCrossedRowsTPCP!=0){
2586 Float_t ratioP = nTPCsignalP/nCrossedRowsTPCP;
2587 if(ratioP<fAnalCuts->GetMinRatioSignalNOverCrossRowsTPC())
continue;
2592 if(nCrossedRowsTPCN!=0){
2593 Float_t ratioN = nTPCsignalN/nCrossedRowsTPCN;
2594 if(ratioN<fAnalCuts->GetMinRatioSignalNOverCrossRowsTPC())
continue;
2601 Double_t nTPCsigmas=-9999, nTOFsigmas=-9999;
2607 if(TMath::Abs(nTPCsigmas)<3. && TMath::Abs(nTOFsigmas)<3.){
2612 ((
TH3D*)(
fOutputAll->FindObject(
"hMassvsPtInclusiveLambda")))->Fill(v0->MassLambda(),ptrk->Pt(),dR);
2613 if(TMath::Abs(nTPCsigmas)<5&&TMath::Abs(nTOFsigmas)<5){
2614 ((
TH3D*)(
fOutputAll->FindObject(
"hMassvsPtInclusiveLambdaLoosePID")))->Fill(v0->MassLambda(),ptrk->Pt(),dR);
2619 ((
TH3D*)(
fOutputPIDBach->FindObject(
"hMassvsPtInclusiveLambda")))->Fill(v0->MassLambda(),ptrk->Pt(),dR);
2620 TLorentzVector vpr, vpi,vlam;
2621 vpr.SetXYZM(ptrk->Px(),ptrk->Py(),ptrk->Pz(),0.938272081);
2622 vpi.SetXYZM(ntrk->Px(),ntrk->Py(),ntrk->Pz(),0.13957061);
2624 TVector3 vboost = vlam.BoostVector();
2626 bachcosthe = cos(vpr.Angle(vlam.Vect()));
2627 ((
TH3D*)(
fOutputPIDBach->FindObject(
"hMassvsPtInclusiveLambdaCosThetaStarPID")))->Fill(v0->MassLambda(),ptrk->Pt(),bachcosthe);
2631 ((
TH3D*)(
fOutputAll->FindObject(
"hMassvsPtInclusiveLambdaSgn")))->Fill(v0->MassLambda(),ptrk->Pt(),dR);
2632 if(TMath::Abs(nTPCsigmas)<5&&TMath::Abs(nTOFsigmas)<5){
2633 ((
TH3D*)(
fOutputAll->FindObject(
"hMassvsPtInclusiveLambdaLoosePIDSgn")))->Fill(v0->MassLambda(),ptrk->Pt(),dR);
2636 ((
TH3D*)(
fOutputPIDBach->FindObject(
"hMassvsPtInclusiveLambdaSgn")))->Fill(v0->MassLambda(),ptrk->Pt(),dR);
2637 ((
TH3D*)(
fOutputPIDBach->FindObject(
"hMassvsPtInclusiveLambdaCosThetaStarPIDSgn")))->Fill(v0->MassLambda(),ptrk->Pt(),bachcosthe);
2643 Double_t nTPCsigmas=-9999, nTOFsigmas=-9999;
2649 if(TMath::Abs(nTPCsigmas)<3. && TMath::Abs(nTOFsigmas)<3.){
2654 ((
TH3D*)(
fOutputAll->FindObject(
"hMassvsPtInclusiveLambda")))->Fill(v0->MassAntiLambda(),ntrk->Pt(),dR);
2655 if(TMath::Abs(nTPCsigmas)<5&&TMath::Abs(nTOFsigmas)<5){
2656 ((
TH3D*)(
fOutputAll->FindObject(
"hMassvsPtInclusiveLambdaLoosePID")))->Fill(v0->MassAntiLambda(),ntrk->Pt(),dR);
2661 ((
TH3D*)(
fOutputPIDBach->FindObject(
"hMassvsPtInclusiveLambda")))->Fill(v0->MassAntiLambda(),ntrk->Pt(),dR);
2662 TLorentzVector vpr, vpi,vlam;
2663 vpr.SetXYZM(ntrk->Px(),ntrk->Py(),ntrk->Pz(),0.938272081);
2664 vpi.SetXYZM(ptrk->Px(),ptrk->Py(),ptrk->Pz(),0.13957061);
2666 TVector3 vboost = vlam.BoostVector();
2668 bachcosthe = cos(vpr.Angle(vlam.Vect()));
2669 ((
TH3D*)(
fOutputPIDBach->FindObject(
"hMassvsPtInclusiveLambdaCosThetaStarPID")))->Fill(v0->MassLambda(),ntrk->Pt(),bachcosthe);
2672 ((
TH3D*)(
fOutputAll->FindObject(
"hMassvsPtInclusiveLambdaSgn")))->Fill(v0->MassAntiLambda(),ntrk->Pt(),dR);
2673 if(TMath::Abs(nTPCsigmas)<5&&TMath::Abs(nTOFsigmas)<5){
2674 ((
TH3D*)(
fOutputAll->FindObject(
"hMassvsPtInclusiveLambdaLoosePIDSgn")))->Fill(v0->MassAntiLambda(),ntrk->Pt(),dR);
2677 ((
TH3D*)(
fOutputPIDBach->FindObject(
"hMassvsPtInclusiveLambdaSgn")))->Fill(v0->MassAntiLambda(),ntrk->Pt(),dR);
2678 ((
TH3D*)(
fOutputPIDBach->FindObject(
"hMassvsPtInclusiveLambdaCosThetaStarPIDSgn")))->Fill(v0->MassLambda(),ntrk->Pt(),bachcosthe);
2692 TClonesArray *arrayLctopKos=0;
2694 if(AODEvent() && IsStandardAOD()) {
2697 aodEvent =
dynamic_cast<AliAODEvent*
> (AODEvent());
2700 AliAODHandler* aodHandler = (AliAODHandler*)
2701 ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
2703 if (aodHandler->GetExtensions()) {
2704 AliAODExtension *ext = (AliAODExtension*)aodHandler->GetExtensions()->FindObject(
"AliAOD.VertexingHF.root");
2706 arrayLctopKos=(TClonesArray*)aodFromExt->GetList()->FindObject(
"CascadesHF");
2710 arrayLctopKos=(TClonesArray*)aodEvent->GetList()->FindObject(
"CascadesHF");
2716 if (TMath::Abs(
fBzkG)>=0.001) {
2720 if (arrayLctopKos) {
2725 TClonesArray *mcArray = 0;
2726 AliAODMCHeader *mcHeader=0;
2730 mcArray =
dynamic_cast<TClonesArray*
>(aodEvent->FindListObject(AliAODMCParticle::StdBranchName()));
2735 mcHeader = (AliAODMCHeader*)aodEvent->GetList()->FindObject(AliAODMCHeader::StdBranchName());
2741 for (
Int_t iii=0; iii<mcArray->GetEntries(); iii++)
2749 if (
fVtx1->GetNContributors()>0) {
2752 TString firedTriggerClasses = aodEvent->GetFiredTriggerClasses();
2753 ULong64_t fTriggerMask=AliVEvent::kAnyINT;
2756 (aodEvent->GetRunNumber()<136851 || aodEvent->GetRunNumber()>139517) ) {
2757 if ( !(firedTriggerClasses.Contains(
"CINT1")) ) {
2758 AliInfo(Form(
" ======================== firedTriggerClasses.Data() = %s",firedTriggerClasses.Data()));
2765 Bool_t isSelectedAAA = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & fTriggerMask);
2766 if (!isSelectedAAA) {
2771 if (!isSelectedAAA || check1) {
2776 fTriggerMask=AliVEvent::kAny;
2777 Bool_t isSelectedBBB = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & fTriggerMask);
2778 if (!isSelectedBBB) {
2783 if (titleVtx.Contains(
"Z")) {
2787 else if (titleVtx.Contains(
"3D")) {
2822 TString firedTriggerClasses = aodEvent->GetFiredTriggerClasses();
2823 ULong64_t fTriggerMask=AliVEvent::kAnyINT;
2825 ((TH1F*)(
fOutput->FindObject(
"hEventsWithCandidates")))->Fill(6);
2830 (aodEvent->GetRunNumber()<136851 || aodEvent->GetRunNumber()>139517) ) {
2831 if ( !(firedTriggerClasses.Contains(
"CINT1")) ) {
2832 AliInfo(Form(
" ======================== firedTriggerClasses.Data() = %s",firedTriggerClasses.Data()));
2833 ((TH1F*)(
fOutput->FindObject(
"hEventsWithCandidates")))->Fill(8);
2839 Bool_t isSelectedAAAa = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & fTriggerMask);
2840 if (!isSelectedAAAa) {
2841 ((TH1F*)(
fOutput->FindObject(
"hEventsWithCandidates")))->Fill(9);
2845 if (!isSelectedAAAa || check1a) {
2846 ((TH1F*)(
fOutput->FindObject(
"hEventsWithCandidates")))->Fill(16);
2850 fTriggerMask=AliVEvent::kAny;
2851 Bool_t isSelectedBBBa = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & fTriggerMask);
2852 if (!isSelectedBBBa) {
2853 ((TH1F*)(
fOutput->FindObject(
"hEventsWithCandidates")))->Fill(10);
2857 if (titleVtx.Contains(
"Z")) {
2858 ((TH1F*)(
fOutput->FindObject(
"hEventsWithCandidates")))->Fill(11);
2861 else if (titleVtx.Contains(
"3D")) {
2862 ((TH1F*)(
fOutput->FindObject(
"hEventsWithCandidates")))->Fill(12);
2865 ((TH1F*)(
fOutput->FindObject(
"hEventsWithCandidates")))->Fill(13);
2870 ((TH1F*)(
fOutput->FindObject(
"hEventsWithCandidates")))->Fill(14);
2875 ((TH1F*)(
fOutput->FindObject(
"hEventsWithCandidates")))->Fill(7);
2878 ((TH1F*)(
fOutput->FindObject(
"hEventsWithCandidates")))->Fill(15);
2888 TClonesArray *mcArray) {
2894 AliAODTrack *bachelor = (AliAODTrack*)lc2bacV0->
GetBachelor();
2895 if (!bachelor)
return -1;
2896 Int_t labBachelor = TMath::Abs(bachelor->GetLabel());
2897 if (labBachelor<0)
return -1;
2898 AliAODMCParticle *partBachelor = (AliAODMCParticle*)mcArray->At(labBachelor);
2899 if (!partBachelor)
return -1;
2900 if (TMath::Abs(partBachelor->GetPdgCode())!=pdgDgLc2bacV0[0])
return -1;
2902 Int_t labBacMother = partBachelor->GetMother();
2903 if (labBacMother<0)
return -1;
2904 AliAODMCParticle *partBacMother = (AliAODMCParticle*)mcArray->At(labBacMother);
2905 if (!partBacMother)
return -1;
2906 if (TMath::Abs(partBacMother->GetPdgCode())!=4122)
return -1;
2911 if (!posV0Daugh || !negV0Daugh)
return -1;
2913 Int_t labV0pos = TMath::Abs(posV0Daugh->GetLabel());
2914 Int_t labV0neg = TMath::Abs(negV0Daugh->GetLabel());
2915 if (labV0pos<0 || labV0neg<0)
return -1;
2917 AliAODMCParticle *partV0pos = (AliAODMCParticle*)mcArray->At(labV0neg);
2918 AliAODMCParticle *partV0neg = (AliAODMCParticle*)mcArray->At(labV0pos);
2919 if (!partV0pos || !partV0neg)
return -1;
2921 if ( ! ( (TMath::Abs(partV0pos->GetPdgCode())==pdgDgV0[0] &&
2922 TMath::Abs(partV0neg->GetPdgCode())==pdgDgV0[1]) ||
2923 (TMath::Abs(partV0pos->GetPdgCode())==pdgDgV0[1] &&
2924 TMath::Abs(partV0neg->GetPdgCode())==pdgDgV0[0]) ) )
return -1;
2925 Int_t labV0posMother = partV0pos->GetMother();
2926 Int_t labV0negMother = partV0neg->GetMother();
2928 if (labV0posMother<0 || labV0negMother<0)
return -1;
2929 if (labV0posMother!=labV0negMother)
return -1;
2931 AliAODMCParticle *motherV0 = (AliAODMCParticle*)mcArray->At(labV0posMother);
2932 if (!motherV0)
return-1;
2934 if (TMath::Abs(motherV0->GetPdgCode())!=pdgDgLc2bacV0[1])
return -1;
2935 Int_t labV0mother = motherV0->GetMother();
2936 if (labV0mother<0)
return -1;
2937 AliAODMCParticle *gMotherV0 = (AliAODMCParticle*)mcArray->At(labV0mother);
2938 if (!gMotherV0)
return-1;
2940 if ( !(pdgDgLc2bacV0[1]==310 && TMath::Abs(gMotherV0->GetPdgCode())==311) &&
2941 !(pdgDgLc2bacV0[1]==3122 && TMath::Abs(motherV0->GetPdgCode())==3122) )
return -1;
2943 if ( (pdgDgLc2bacV0[1]==310 && TMath::Abs(gMotherV0->GetPdgCode())==311) ) {
2944 Int_t labV0GMother = gMotherV0->GetMother();
2945 if (labV0GMother<0)
return -1;
2946 AliAODMCParticle *ggMotherV0 = (AliAODMCParticle*)mcArray->At(labV0GMother);
2947 if (!ggMotherV0)
return-1;
2949 if (TMath::Abs(ggMotherV0->GetPdgCode())!=4122)
return -1;
2950 gMotherV0 = (AliAODMCParticle*)ggMotherV0;
2951 labV0mother=labV0GMother;
2953 else if (pdgDgLc2bacV0[1]==3122 && TMath::Abs(motherV0->GetPdgCode())==3122) {
2954 if (TMath::Abs(gMotherV0->GetPdgCode())!=4122)
return -1;
2957 if (labBacMother!=labV0mother) {
2961 return labBacMother;
2971 Int_t indexToBeReturned=-999;
2974 Int_t pdgLambda=3122;
2977 Int_t pdgBachelor=2212;
2978 Int_t pdgBachelorPi=211;
2981 fillthis=
"histMcStatLc";
2983 AliAODMCParticle *searchLc =
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(iii));
2984 if(!searchLc)
return -999;
2985 if (TMath::Abs(searchLc->GetPdgCode()) != pdgLc)
return -999;
2987 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(0);
2988 indexToBeReturned = 0;
2990 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(TMath::Nint(searchLc->Charge()/3.)*1);
2991 indexToBeReturned = TMath::Nint(searchLc->Charge()/3.)*1;
2993 Int_t nDaughLc = searchLc->GetNDaughters();
2995 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(TMath::Nint(searchLc->Charge()/3.)*10);
2996 indexToBeReturned = TMath::Nint(searchLc->Charge()/3.)*10;
2997 return indexToBeReturned;
3000 Int_t index1=searchLc->GetDaughter(0);
3001 Int_t index2=searchLc->GetDaughter(1);
3002 if (index1<=0 || index2<=0) {
3006 AliAODMCParticle *daugh1 =
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(index1));
3007 AliAODMCParticle *daugh2 =
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(index2));
3008 if (!daugh1 || !daugh2)
return -999;
3010 Int_t daughPdg1 = TMath::Abs(daugh1->GetPdgCode());
3011 Int_t daughPdg2 = TMath::Abs(daugh2->GetPdgCode());
3012 if ( !( (daughPdg1==pdgBachelor && daughPdg2==pdgK0) ||
3013 (daughPdg2==pdgBachelor && daughPdg1==pdgK0) ||
3014 (daughPdg1==pdgLambda && daughPdg2==pdgBachelorPi) ||
3015 (daughPdg2==pdgLambda && daughPdg1==pdgBachelorPi) ) ) {
3016 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(TMath::Nint(searchLc->Charge()/3.)*10);
3017 indexToBeReturned = TMath::Nint(searchLc->Charge()/3.)*10;
3018 return indexToBeReturned;
3021 if (daughPdg1==pdgK0 || daughPdg1==pdgLambda) {
3022 index1=searchLc->GetDaughter(1);
3023 index2=searchLc->GetDaughter(0);
3025 daugh1 =
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(index1));
3026 daugh2 =
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(index2));
3027 if (!daugh1 || !daugh2)
return -999;
3029 daughPdg1=TMath::Abs(daugh1->GetPdgCode());
3030 daughPdg2=TMath::Abs(daugh2->GetPdgCode());
3032 if ( daughPdg1==pdgBachelor && daughPdg2==pdgK0 ) {
3034 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(TMath::Nint(searchLc->Charge()/3.)*2);
3035 indexToBeReturned = TMath::Nint(searchLc->Charge()/3.)*2;
3037 Int_t nDaughK0 = daugh2->GetNDaughters();
3038 if (nDaughK0!=1)
return -999;
3040 Int_t indexK0daugh=daugh2->GetDaughter(0);
3041 if (indexK0daugh<=0)
return -999;
3043 AliAODMCParticle *daughK0 =
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(indexK0daugh));
3044 if (!daughK0)
return -999;
3046 Int_t daughK0Pdg=TMath::Abs(daughK0->GetPdgCode());
3047 if (daughK0Pdg!=pdgV0) {
3048 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(TMath::Nint(searchLc->Charge()/3.)*4);
3049 indexToBeReturned = TMath::Nint(searchLc->Charge()/3.)*4;
3050 return indexToBeReturned;
3052 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(TMath::Nint(searchLc->Charge()/3.)*3);
3053 indexToBeReturned = TMath::Nint(searchLc->Charge()/3.)*3;
3055 Int_t nDaughK0S = daughK0->GetNDaughters();
3057 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(TMath::Nint(searchLc->Charge()/3.)*5);
3058 indexToBeReturned = TMath::Nint(searchLc->Charge()/3.)*5;
3059 return indexToBeReturned;
3062 index1=daughK0->GetDaughter(0);
3063 index2=daughK0->GetDaughter(1);
3064 if(index1<=0 || index2<=0) {
3068 AliAODMCParticle *daughK0S1 =
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(index1));
3069 AliAODMCParticle *daughK0S2 =
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(index2));
3070 if (!daughK0S1 || !daughK0S2)
return -999;
3072 Int_t daughK0S1pdg=TMath::Abs(daughK0S1->GetPdgCode());
3073 Int_t daughK0S2pdg=TMath::Abs(daughK0S2->GetPdgCode());
3075 if ( daughK0S1pdg==211 && daughK0S2pdg==211 ) {
3076 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(TMath::Nint(searchLc->Charge()/3.)*6);
3077 indexToBeReturned = TMath::Nint(searchLc->Charge()/3.)*6;
3079 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(TMath::Nint(searchLc->Charge()/3.)*5);
3080 indexToBeReturned = TMath::Nint(searchLc->Charge()/3.)*5;
3084 else if ( daughPdg1==pdgBachelorPi && daughPdg2==pdgLambda ) {
3086 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(TMath::Nint(searchLc->Charge()/3.)*7);
3087 indexToBeReturned = TMath::Nint(searchLc->Charge()/3.)*7;
3089 Int_t nDaughL = daugh2->GetNDaughters();
3091 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(TMath::Nint(searchLc->Charge()/3.)*8);
3092 indexToBeReturned = TMath::Nint(searchLc->Charge()/3.)*8;
3093 return indexToBeReturned;
3096 index1=daugh2->GetDaughter(0);
3097 index2=daugh2->GetDaughter(1);
3098 if(index1<=0 || index2<=0) {
3102 AliAODMCParticle *daughL1 =
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(index1));
3103 AliAODMCParticle *daughL2 =
dynamic_cast<AliAODMCParticle*
>(arrayMC->At(index2));
3104 if (!daughL1 || !daughL2)
return -999;
3106 Int_t daughL1pdg=TMath::Abs(daughL1->GetPdgCode());
3107 Int_t daughL2pdg=TMath::Abs(daughL2->GetPdgCode());
3108 if ( (daughL1pdg==211 && daughL2pdg==2212) ||
3109 (daughL2pdg==211 && daughL1pdg==2212) ) {
3110 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(TMath::Nint(searchLc->Charge()/3.)*9);
3111 indexToBeReturned = TMath::Nint(searchLc->Charge()/3.)*9;
3113 ((TH1F*)(
fOutput->FindObject(fillthis)))->Fill(TMath::Nint(searchLc->Charge()/3.)*8);
3114 indexToBeReturned = TMath::Nint(searchLc->Charge()/3.)*8;
3119 return indexToBeReturned;
3125 Bool_t isCandidateSelectedCuts,
3134 ((
TH2F*)(
fOutputAll->FindObject(histoTitle+
"0")))->Fill(alpha,qT);
3135 if (isCandidateSelectedCuts) {
3151 AliAODv0 * v0part = (AliAODv0*)part->
Getv0();
3152 Bool_t onFlyV0 = v0part->GetOnFlyStatus();
3154 AliAODTrack *bachelor = (AliAODTrack*)part->
GetBachelor();
3157 ((TH1F*)(
fOutput->FindObject(
"hCandidateSelection")))->Fill(3);
3160 ((TH1F*)(
fOutput->FindObject(
"hCandidateSelection")))->Fill(4);
3162 ((TH1F*)(
fOutput->FindObject(
"hCandidateSelection")))->Fill(5);
3165 ((TH1F*)(
fOutput->FindObject(
"hCandidateSelection")))->Fill(6);
3168 ((TH1F*)(
fOutput->FindObject(
"hCandidateSelection")))->Fill(7);
3170 ((TH1F*)(
fOutput->FindObject(
"hCandidateSelection")))->Fill(8);
3172 ((TH1F*)(
fOutput->FindObject(
"hCandidateSelection")))->Fill(9);
3182 ((TH1F*)(
fOutput->FindObject(
"hSwitchOnCandidates1")))->Fill( -aaa );
3184 ((TH1F*)(
fOutput->FindObject(
"hSwitchOnCandidates1")))->Fill( aaa );
3189 if ((aaa&AliRDHFCutsLctoV0::kLcToK0Spr)==AliRDHFCutsLctoV0::kLcToK0Spr) {
3192 ((TH1F*)(
fOutput->FindObject(
"hSwitchOnCandidates2")))->Fill( -aaa );
3194 ((TH1F*)(
fOutput->FindObject(
"hSwitchOnCandidates2")))->Fill( aaa );
3199 if ((aaa&AliRDHFCutsLctoV0::kLcToK0Spr)==AliRDHFCutsLctoV0::kLcToK0Spr) {
3202 ((TH1F*)(
fOutput->FindObject(
"hSwitchOnCandidates3")))->Fill( -aaa );
3204 ((TH1F*)(
fOutput->FindObject(
"hSwitchOnCandidates3")))->Fill( aaa );
3208 if ((aaa&AliRDHFCutsLctoV0::kLcToK0Spr)==AliRDHFCutsLctoV0::kLcToK0Spr) {
3211 ((TH1F*)(
fOutput->FindObject(
"hSwitchOnCandidates4")))->Fill( -aaa );
3213 ((TH1F*)(
fOutput->FindObject(
"hSwitchOnCandidates4")))->Fill( aaa );
3228 Double_t mk0sPDG = TDatabasePDG::Instance()->GetParticle(310)->Mass();
3229 Double_t mLPDG = TDatabasePDG::Instance()->GetParticle(3122)->Mass();
3234 AliAODTrack *bachelor = (AliAODTrack*)part->
GetBachelor();
3236 AliAODv0 * v0part = (AliAODv0*)part->
Getv0();
3237 Double_t dcaV0ptp = v0part->GetDCA();
3238 Double_t invmassK0S = v0part->MassK0Short();
3239 Double_t invmassLambda = v0part->MassLambda();
3240 Double_t invmassLambdaBar = v0part->MassAntiLambda();
3242 Int_t isLc2LBarpi=0, isLc2Lpi=0;
3244 Int_t isDp2K0Spi=0, isDs2K0SK=0;
3245 Int_t mcLabel2 = -1;
3246 Int_t mcLabel3 = -1;
3247 Int_t isKstar12K0Spi=0, isKstar22K0Spi=0;
3248 Int_t mcLabel4 = -1;
3249 Int_t mcLabel5 = -1;
3254 Int_t pdgCand0 = 4122;
3255 Int_t pdgDgLctoV0bachelor0[2]={2212,310};
3256 Int_t pdgDgV0toDaughters0[2]={211,211};
3257 Int_t mcLabelLc2pK0S = part->
MatchToMC(pdgCand0,pdgDgLctoV0bachelor0[1],pdgDgLctoV0bachelor0,pdgDgV0toDaughters0,mcArray,kTRUE);
3258 AliAODMCParticle *lambdaCpartMC = (AliAODMCParticle*)mcArray->At(mcLabelLc2pK0S);
3259 if (lambdaCpartMC) {
3260 ptCandByMC = lambdaCpartMC->Pt();
3261 yCandByMC = lambdaCpartMC->Y();
3265 Int_t pdgCand = 4122;
3266 Int_t pdgDgLctoV0bachelor[2]={211,3122};
3267 Int_t pdgDgV0toDaughters[2]={2212,211};
3268 mcLabel = part->
MatchToMC(pdgCand,pdgDgLctoV0bachelor[1],pdgDgLctoV0bachelor,pdgDgV0toDaughters,mcArray,kTRUE);
3270 if (bachelor->Charge()<0) isLc2LBarpi=1;
3271 if (bachelor->Charge()>0) isLc2Lpi=1;
3272 AliAODMCParticle *lambdaCpartMC = (AliAODMCParticle*)mcArray->At(mcLabel);
3273 if (lambdaCpartMC) {
3274 ptCandByMC = lambdaCpartMC->Pt();
3275 yCandByMC = lambdaCpartMC->Y();
3279 Int_t pdgCand2 = 411;
3280 Int_t pdgCand3 = 431;
3281 Int_t pdgDgCand2[2]={211,310};
3282 Int_t pdgDgCand3[2]={321,310};
3283 pdgDgV0toDaughters[0]=211;
3284 pdgDgV0toDaughters[1]=211;
3285 mcLabel2 = part->
MatchToMC(pdgCand2,pdgDgCand2[1],pdgDgCand2,pdgDgV0toDaughters,mcArray,kTRUE);
3286 mcLabel3 = part->
MatchToMC(pdgCand3,pdgDgCand3[1],pdgDgCand3,pdgDgV0toDaughters,mcArray,kTRUE);
3289 AliAODMCParticle *lambdaCpartMC = (AliAODMCParticle*)mcArray->At(mcLabel2);
3290 if (lambdaCpartMC) {
3291 ptCandByMC = lambdaCpartMC->Pt();
3292 yCandByMC = lambdaCpartMC->Y();
3297 AliAODMCParticle *lambdaCpartMC = (AliAODMCParticle*)mcArray->At(mcLabel3);
3298 if (lambdaCpartMC) {
3299 ptCandByMC = lambdaCpartMC->Pt();
3300 yCandByMC = lambdaCpartMC->Y();
3304 Int_t pdgCand4 = 313;
3305 Int_t pdgCand5 = 325;
3306 Int_t pdgDgCand4[2]={211,310};
3307 Int_t pdgDgCand5[2]={211,310};
3308 pdgDgV0toDaughters[0]=211;
3309 pdgDgV0toDaughters[1]=211;
3310 mcLabel4 = part->
MatchToMC(pdgCand4,pdgDgCand4[1],pdgDgCand4,pdgDgV0toDaughters,mcArray,kTRUE);
3311 mcLabel5 = part->
MatchToMC(pdgCand5,pdgDgCand5[1],pdgDgCand5,pdgDgV0toDaughters,mcArray,kTRUE);
3314 AliAODMCParticle *lambdaCpartMC = (AliAODMCParticle*)mcArray->At(mcLabel4);
3315 if (lambdaCpartMC) {
3316 ptCandByMC = lambdaCpartMC->Pt();
3317 yCandByMC = lambdaCpartMC->Y();
3322 AliAODMCParticle *lambdaCpartMC = (AliAODMCParticle*)mcArray->At(mcLabel5);
3323 if (lambdaCpartMC) {
3324 ptCandByMC = lambdaCpartMC->Pt();
3325 yCandByMC = lambdaCpartMC->Y();
3330 Int_t isLcByMC = isLc+isLc2LBarpi*2+isLc2Lpi*4+isDp2K0Spi*8+isDs2K0SK*16+isKstar12K0Spi*32+isKstar22K0Spi*64;
3332 Bool_t isMCparticleInFiducialAcceptance = kTRUE;
3333 if (isLc || isLc2LBarpi || isLc2Lpi || isDp2K0Spi || isDs2K0SK || isKstar12K0Spi || isKstar22K0Spi) {
3339 Int_t isLambdaBar = 0;
3342 Int_t pdgDg2prong[2] = {211, 211};
3343 Int_t labelK0S = v0part->MatchToMC(310,mcArray,2,pdgDg2prong);
3344 if (labelK0S>=0) isK0S = 1;
3346 pdgDg2prong[0] = 211;
3347 pdgDg2prong[1] = 2212;
3348 Int_t lambdaLabel = v0part->MatchToMC(3122,mcArray,2,pdgDg2prong);
3349 if (lambdaLabel>=0) {
3350 AliAODMCParticle *lambdaTrack = (AliAODMCParticle*)mcArray->At(lambdaLabel);
3351 if (lambdaTrack->GetPdgCode()==3122) isLambda = 1;
3352 else if (lambdaTrack->GetPdgCode()==-3122) isLambdaBar = 1;
3355 pdgDg2prong[0] = 11;
3356 pdgDg2prong[1] = 11;
3357 Int_t gammaLabel = v0part->MatchToMC(22,mcArray,2,pdgDg2prong);
3358 if (gammaLabel>=0) {
3359 AliAODMCParticle *gammaTrack = (AliAODMCParticle*)mcArray->At(gammaLabel);
3360 if (gammaTrack->GetPdgCode()==22) isGamma = 1;
3364 Int_t isV0ByMC = isK0S+isLambdaBar*2+isLambda*4+isGamma*8;
3366 Int_t isBachelorSelected = (bachelor->TestFilterMask(BIT(4)))*1 + (!(bachelor->TestFilterMask(BIT(4))))*2;
3367 isBachelorSelected += (bachelor->GetLabel()<0)*4 + (bachelor->GetLabel()>=0)*8;
3368 if ( ( !(bachelor->HasPointOnITSLayer(0)) && !(bachelor->HasPointOnITSLayer(1)) ) )
3369 isBachelorSelected += 16;
3371 if ( bachelor->HasPointOnITSLayer(0) && !(bachelor->HasPointOnITSLayer(1)) )
3372 isBachelorSelected += 32;
3373 else if ( !(bachelor->HasPointOnITSLayer(0)) && bachelor->HasPointOnITSLayer(1) )
3374 isBachelorSelected += 64;
3376 isBachelorSelected += 128;
3382 Int_t areV0daughtersSelected = (v0pos->TestFilterMask(BIT(4)))*1 + (!(v0pos->TestFilterMask(BIT(4))))*2;
3383 areV0daughtersSelected += (v0pos->GetLabel()<0)*4 + (v0pos->GetLabel()>=0)*8;
3384 areV0daughtersSelected += (v0pos->HasPointOnITSLayer(0))*16;
3385 areV0daughtersSelected += (v0pos->HasPointOnITSLayer(1))*32;
3386 areV0daughtersSelected += (v0pos->HasPointOnITSLayer(2))*64;
3387 areV0daughtersSelected += (v0pos->HasPointOnITSLayer(3))*128;
3388 areV0daughtersSelected += (v0pos->HasPointOnITSLayer(4))*256;
3389 areV0daughtersSelected += (v0pos->HasPointOnITSLayer(5))*512;
3391 areV0daughtersSelected += (v0neg->TestFilterMask(BIT(4)))*1024 + (!(v0neg->TestFilterMask(BIT(4))))*2048;
3392 areV0daughtersSelected += (v0neg->GetLabel()<0)*4096 + (v0neg->GetLabel()>=0)*8192;
3393 areV0daughtersSelected += (v0neg->HasPointOnITSLayer(0))*16384;
3394 areV0daughtersSelected += (v0neg->HasPointOnITSLayer(1))*32768;
3395 areV0daughtersSelected += (v0neg->HasPointOnITSLayer(2))*65536;
3396 areV0daughtersSelected += (v0neg->HasPointOnITSLayer(3))*131072;
3397 areV0daughtersSelected += (v0neg->HasPointOnITSLayer(4))*262144;
3398 areV0daughtersSelected += (v0neg->HasPointOnITSLayer(5))*524288;
3422 Int_t flagToCheckCandidate = 1*(TMath::Abs(invmassK0S-mk0sPDG)<=0.050);
3423 flagToCheckCandidate+=2*((TMath::Abs(invmassLambdaBar-mLPDG)<=0.050) && (bachelor->Charge()<0));
3424 flagToCheckCandidate+=4*((TMath::Abs(invmassLambda-mLPDG)<=0.050) && (bachelor->Charge()>0));
3425 flagToCheckCandidate+=8*((TMath::Abs(invmassLambdaBar-mLPDG)<=0.050) && (bachelor->Charge()>0));
3426 flagToCheckCandidate+=16*((TMath::Abs(invmassLambda-mLPDG)<=0.050) && (bachelor->Charge()<0));
3486 Double_t xVtxLc=0, yVtxLc=0, zVtxLc=0;
3488 Double_t pxVtxBachelor=0, pyVtxBachelor=0, pzVtxBachelor=0;
3489 dcaForLc =
PropagateToDCA(v0part,bachelor,
fBzkG, xVtxLc, yVtxLc, zVtxLc, pxVtxBachelor, pyVtxBachelor, pzVtxBachelor);
3491 Int_t pdgCand0 = 4122;
3492 Int_t pdgDgLctoV0bachelor0[2]={2212,310};
3493 Int_t pdgDgV0toDaughters0[2]={211,211};
3494 Int_t mcLabel0 = part->
MatchToMC(pdgCand0,pdgDgLctoV0bachelor0[1],pdgDgLctoV0bachelor0,pdgDgV0toDaughters0,mcArray,kTRUE);
3495 AliAODMCParticle *partLc =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(mcLabel0));
3497 AliAODMCParticle *partLcDaug0 =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(partLc->GetDaughter(0)));
3499 xLcMC=partLcDaug0->Xv(), yLcMC=partLcDaug0->Yv(), zLcMC=partLcDaug0->Zv();
3502 }
else if (isLc2LBarpi || isLc2Lpi) {
3503 AliAODMCParticle *partLc =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(mcLabel));
3504 AliAODMCParticle *partLcDaug0 =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(partLc->GetDaughter(0)));
3505 xLcMC=partLcDaug0->Xv(), yLcMC=partLcDaug0->Yv(), zLcMC=partLcDaug0->Zv();
3506 }
else if (isDp2K0Spi) {
3507 AliAODMCParticle *partLc =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(mcLabel2));
3508 AliAODMCParticle *partLcDaug0 =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(partLc->GetDaughter(0)));
3509 xLcMC=partLcDaug0->Xv(), yLcMC=partLcDaug0->Yv(), zLcMC=partLcDaug0->Zv();
3510 }
else if (isDs2K0SK) {
3511 AliAODMCParticle *partLc =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(mcLabel3));
3512 AliAODMCParticle *partLcDaug0 =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(partLc->GetDaughter(0)));
3513 xLcMC=partLcDaug0->Xv(), yLcMC=partLcDaug0->Yv(), zLcMC=partLcDaug0->Zv();
3514 }
else if (isKstar12K0Spi) {
3515 AliAODMCParticle *partLc =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(mcLabel4));
3516 AliAODMCParticle *partLcDaug0 =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(partLc->GetDaughter(0)));
3517 xLcMC=partLcDaug0->Xv(), yLcMC=partLcDaug0->Yv(), zLcMC=partLcDaug0->Zv();
3518 }
else if (isKstar22K0Spi) {
3519 AliAODMCParticle *partLc =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(mcLabel5));
3520 AliAODMCParticle *partLcDaug0 =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(partLc->GetDaughter(0)));
3521 xLcMC=partLcDaug0->Xv(), yLcMC=partLcDaug0->Yv(), zLcMC=partLcDaug0->Zv();
3564 if (bachelor->GetLabel()!=-1) {
3565 AliAODMCParticle *partBachelor =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(TMath::Abs(bachelor->GetLabel())));
3568 if (bachelor->GetLabel()!=-1 &&
3569 v0pos->GetLabel()!=-1 &&
3570 v0neg->GetLabel()!=-1) {
3572 Int_t dgLabels[ndg]={TMath::Abs(bachelor->GetLabel()),
3573 TMath::Abs(v0pos->GetLabel()),
3574 TMath::Abs(v0neg->GetLabel())};
3577 Int_t absLabelMother=-1;
3580 dgLabels,ndg,ndgCk,pdgDg,absLabelMother,nDauCand);
3582 if (v0pos->GetLabel()!=-1) {
3583 AliAODMCParticle *part1 =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(TMath::Abs(v0pos->GetLabel())));
3586 if (v0neg->GetLabel()!=-1) {
3587 AliAODMCParticle *part2 =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(TMath::Abs(v0neg->GetLabel())));
3590 if (v0pos->GetLabel()!=-1 &&
3591 v0neg->GetLabel()!=-1) {
3593 Int_t dgLabels[ndg]={TMath::Abs(v0pos->GetLabel()),
3594 TMath::Abs(v0neg->GetLabel())};
3597 Int_t absLabelMother=-1;
3600 dgLabels,ndg,ndgCk,pdgDg,absLabelMother,nDauCand);
3605 AliInputEventHandler *inputHandler=(AliInputEventHandler*)mgr->GetInputEventHandler();
3606 AliPIDResponse *pidResponse=inputHandler->GetPIDResponse();
3609 AliPIDCombined *objectPIDCombined=
new AliPIDCombined;
3610 objectPIDCombined->SetDefaultTPCPriors();
3611 objectPIDCombined->SetDetectorMask(AliPIDResponse::kDetTPC+AliPIDResponse::kDetTOF);
3613 Double_t probTPCTOF[AliPID::kSPECIES]={-1.};
3614 UInt_t detUsed = objectPIDCombined->ComputeProbabilities(bachelor, pidResponse, probTPCTOF);
3619 if (detUsed == (
UInt_t)objectPIDCombined->GetDetectorMask() ) {
3620 AliDebug(2, Form(
"We have found the detector mask for TOF + TPC: probProton will be set to %f", probTPCTOF[
AliPID::kProton]));
3626 objectPIDCombined->SetDetectorMask(AliPIDResponse::kDetTPC);
3627 AliDebug(2,
"We did not find the detector mask for TOF + TPC, let's see only TPC");
3628 detUsed = objectPIDCombined->ComputeProbabilities(bachelor, pidResponse, probTPCTOF);
3629 AliDebug(2,Form(
" detUsed (TPC case) = %d", detUsed));
3630 if (detUsed == (
UInt_t)objectPIDCombined->GetDetectorMask()) {
3634 AliDebug(2, Form(
"TPC only worked: probProton will be set to %f", probTPCTOF[
AliPID::kProton]));
3637 AliDebug(2,
"Only TPC did not work...");
3640 objectPIDCombined->SetDetectorMask(AliPIDResponse::kDetTPC+AliPIDResponse::kDetTOF);
3642 AliDebug(2, Form(
"probProton = %f", probProton));
3647 Double_t pidTPC[AliPID::kSPECIES]={-1.};
3648 Double_t pidTOF[AliPID::kSPECIES]={-1.};
3649 Int_t respTPC = pidResponse->ComputePIDProbability(AliPIDResponse::kDetTPC, bachelor, AliPID::kSPECIES, pidTPC);
3650 Int_t respTOF = pidResponse->ComputePIDProbability(AliPIDResponse::kDetTOF, bachelor, AliPID::kSPECIES, pidTOF);
3651 if (respTPC == AliPIDResponse::kDetPidOk) probProtonTPC = pidTPC[
AliPID::kProton];
3652 if (respTOF == AliPIDResponse::kDetPidOk) probProtonTOF = pidTOF[
AliPID::kProton];
3662 delete objectPIDCombined;
3675 const char* nameoutput = GetOutputSlot(4)->GetContainer()->GetName();
3681 fCandidateVariableNames[ 0]=
"isLcByMC";
3682 fCandidateVariableNames[ 1]=
"isV0ByMC";
3683 fCandidateVariableNames[ 2]=
"flagToCheckBachelor";
3684 fCandidateVariableNames[ 3]=
"flagToCheckV0daughters";
3685 fCandidateVariableNames[ 4]=
"flagToCheckCandidate";
3686 fCandidateVariableNames[ 5]=
"massLc2K0Sp";
3687 fCandidateVariableNames[ 6]=
"massLc2Lambdapi";
3688 fCandidateVariableNames[ 7]=
"massD2K0Spi";
3689 fCandidateVariableNames[ 8]=
"massDS2K0SK";
3690 fCandidateVariableNames[ 9]=
"massK0S";
3691 fCandidateVariableNames[10]=
"massLambda";
3692 fCandidateVariableNames[11]=
"massLambdaBar";
3693 fCandidateVariableNames[12]=
"massGamma";
3694 fCandidateVariableNames[13]=
"dcaLcptp";
3695 fCandidateVariableNames[14]=
"dcaV0ptp";
3696 fCandidateVariableNames[15]=
"tImpParBach";
3697 fCandidateVariableNames[16]=
"tImpParV0";
3698 fCandidateVariableNames[17]=
"dcaV0postoPV";
3699 fCandidateVariableNames[18]=
"dcaV0negtoPV";
3700 fCandidateVariableNames[19]=
"cosPALc";
3701 fCandidateVariableNames[20]=
"cosPAK0S";
3702 fCandidateVariableNames[21]=
"rhoV0";
3703 fCandidateVariableNames[22]=
"nSigmaITSpr";
3704 fCandidateVariableNames[23]=
"nSigmaITSpi";
3705 fCandidateVariableNames[24]=
"nSigmaITSka";
3706 fCandidateVariableNames[25]=
"nSigmaTPCpr";
3707 fCandidateVariableNames[26]=
"nSigmaTPCpi";
3708 fCandidateVariableNames[27]=
"nSigmaTPCka";
3709 fCandidateVariableNames[28]=
"nSigmaTOFpr";
3710 fCandidateVariableNames[29]=
"nSigmaTOFpi";
3711 fCandidateVariableNames[30]=
"nSigmaTOFka";
3712 fCandidateVariableNames[31]=
"yLc";
3713 fCandidateVariableNames[32]=
"etaBach";
3714 fCandidateVariableNames[33]=
"etaV0pos";
3715 fCandidateVariableNames[34]=
"etaV0neg";
3716 fCandidateVariableNames[35]=
"LcP";
3717 fCandidateVariableNames[36]=
"LcPt";
3718 fCandidateVariableNames[37]=
"v0P";
3719 fCandidateVariableNames[38]=
"v0Pt";
3720 fCandidateVariableNames[39]=
"bachelorP";
3721 fCandidateVariableNames[40]=
"bachelorPt";
3722 fCandidateVariableNames[41]=
"V0positiveP";
3723 fCandidateVariableNames[42]=
"V0positivePt";
3724 fCandidateVariableNames[43]=
"V0negativeP";
3725 fCandidateVariableNames[44]=
"V0negativePt";
3726 fCandidateVariableNames[45]=
"decayLengthLc";
3727 fCandidateVariableNames[46]=
"decayLengthV0";
3728 fCandidateVariableNames[47]=
"cosPALcXY";
3729 fCandidateVariableNames[48]=
"cosPAV0XY";
3730 fCandidateVariableNames[49]=
"decayLengthLcXY";
3731 fCandidateVariableNames[50]=
"decayLengthV0XY";
3732 fCandidateVariableNames[51]=
"normalizedDecayLengthLc";
3733 fCandidateVariableNames[52]=
"normalizedDecayLengthV0";
3734 fCandidateVariableNames[53]=
"normalizedDecayLengthXYLc";
3735 fCandidateVariableNames[54]=
"normalizedDecayLengthXYV0";
3736 fCandidateVariableNames[55]=
"newLcDCA";
3738 fCandidateVariableNames[56]=
"cosThetaStarBachelor";
3739 fCandidateVariableNames[57]=
"cosThetaStarV0";
3740 fCandidateVariableNames[58]=
"etaV0";
3741 fCandidateVariableNames[59]=
"yV0";
3742 fCandidateVariableNames[60]=
"bachelorCharge";
3743 fCandidateVariableNames[61]=
"isMCparticleInFiducialAcceptance";
3745 fCandidateVariableNames[62]=
"massKstar12K0Spi";
3746 fCandidateVariableNames[63]=
"massKstar22K0Spi";
3747 fCandidateVariableNames[64]=
"pdgBachelor";
3748 fCandidateVariableNames[65]=
"pdgCandidate";
3749 fCandidateVariableNames[66]=
"pdgV0pos";
3750 fCandidateVariableNames[67]=
"pdgV0neg";
3751 fCandidateVariableNames[68]=
"pdgV0Candidate";
3752 fCandidateVariableNames[69]=
"startTimeMask";
3754 fCandidateVariableNames[70]=
"combinedProtonProb";
3755 fCandidateVariableNames[71]=
"TPCProtonProb";
3756 fCandidateVariableNames[72]=
"TOFProtonProb";
3757 fCandidateVariableNames[73]=
"checkLcOrigin";
3759 fCandidateVariableNames[74]=
"qtProng0V0";
3762 fCandidateVariableNames[75]=
"xVtxLcBad";
3763 fCandidateVariableNames[76]=
"yVtxLcBad";
3764 fCandidateVariableNames[77]=
"zVtxLcBad";
3765 fCandidateVariableNames[78]=
"xVtxLcGood";
3766 fCandidateVariableNames[79]=
"yVtxLcGood";
3767 fCandidateVariableNames[80]=
"zVtxLcGood";
3768 fCandidateVariableNames[81]=
"xVtxLcMC";
3769 fCandidateVariableNames[82]=
"yVtxLcMC";
3770 fCandidateVariableNames[83]=
"zVtxLcMC";
3771 fCandidateVariableNames[84]=
"pxVtxBachelorBad";
3772 fCandidateVariableNames[85]=
"pyVtxBachelorBad";
3773 fCandidateVariableNames[86]=
"pxVtxBachelorGood";
3774 fCandidateVariableNames[87]=
"pyVtxBachelorGood";
3775 fCandidateVariableNames[88]=
"pzVtxBachelorGood";
3776 fCandidateVariableNames[89]=
"pxVtxV0";
3777 fCandidateVariableNames[90]=
"pyVtxV0";
3778 fCandidateVariableNames[91]=
"pzVtxV0";
3779 fCandidateVariableNames[92]=
"xPvtx";
3780 fCandidateVariableNames[93]=
"yPvtx";
3781 fCandidateVariableNames[94]=
"zPvtx";
3797 fCEvents =
new TH1F(
"fCEvents",
"conter",20,0,20);
3799 fCEvents->GetXaxis()->SetBinLabel(1,
"X1");
3800 fCEvents->GetXaxis()->SetBinLabel(2,
"Analyzed events");
3801 fCEvents->GetXaxis()->SetBinLabel(3,
"AliAODVertex exists");
3802 fCEvents->GetXaxis()->SetBinLabel(4,
"CascadesHF exists");
3803 fCEvents->GetXaxis()->SetBinLabel(5,
"MCarray exists");
3804 fCEvents->GetXaxis()->SetBinLabel(6,
"MCheader exists");
3805 fCEvents->GetXaxis()->SetBinLabel(7,
"GetNContributors()>0");
3806 fCEvents->GetXaxis()->SetBinLabel(8,
"IsEventSelected");
3807 fCEvents->GetXaxis()->SetBinLabel(9,
"triggerClass!=CINT1");
3808 fCEvents->GetXaxis()->SetBinLabel(10,
"triggerMask!=kAnyINT");
3809 fCEvents->GetXaxis()->SetBinLabel(11,
"triggerMask!=kAny");
3810 fCEvents->GetXaxis()->SetBinLabel(12,
"vtxTitle.Contains(Z)");
3811 fCEvents->GetXaxis()->SetBinLabel(13,
"vtxTitle.Contains(3D)");
3812 fCEvents->GetXaxis()->SetBinLabel(14,
"vtxTitle.Doesn'tContain(Z-3D)");
3814 fCEvents->GetXaxis()->SetBinLabel(16,
"!IsEventSelected");
3815 fCEvents->GetXaxis()->SetBinLabel(17,
"triggerMask!=kAnyINT || triggerClass!=CINT1");
3817 fCEvents->GetXaxis()->SetBinLabel(19,
"Re-Fill Fail");
3818 fCEvents->GetXaxis()->SetBinLabel(20,
"AOD Mismatch");
3820 fCEvents->GetYaxis()->SetTitle(
"counts");
3826 fillthis=
"histMcStatLc";
3827 TH1F* mcStatisticLc =
new TH1F(fillthis.Data(),
"#Lambda_{c} generated and their decays",21,-10.5,10.5);
3833 fillthis=
"histoprotonBachSigmaVspTOF";
3834 TH2F *hprotonBachSigmaVspTOF=
new TH2F(fillthis.Data(),fillthis.Data(),300,0.,30.,100,-5.,5.);
3837 fOutput->Add(hprotonBachSigmaVspTOF);
3841 fillthis=
"histoprotonBachSigmaVspTPC";
3842 TH2F *hprotonBachSigmaVspTPC=
new TH2F(fillthis.Data(),fillthis.Data(),300,0.,30.,100,-5.,5.);
3845 fOutput->Add(hprotonBachSigmaVspTPC);
3851 fillthis=
"histoprotonBachSigmaVspTOFsgn";
3852 TH2F *hprotonBachSigmaVspTOFsgn=
new TH2F(fillthis.Data(),fillthis.Data(),300,0.,30.,100,-5.,5.);
3855 fOutput->Add(hprotonBachSigmaVspTOFsgn);
3859 fillthis=
"histoprotonBachSigmaVspTPCsgn";
3860 TH2F *hprotonBachSigmaVspTPCsgn=
new TH2F(fillthis.Data(),fillthis.Data(),300,0.,30.,100,-5.,5.);
3863 fOutput->Add(hprotonBachSigmaVspTPCsgn);
3868 fillthis=
"histoprotonBachSigmaVspTOFbkg";
3869 TH2F *hprotonBachSigmaVspTOFbkg=
new TH2F(fillthis.Data(),fillthis.Data(),300,0.,30.,100,-5.,5.);
3872 fOutput->Add(hprotonBachSigmaVspTOFbkg);
3876 fillthis=
"histoprotonBachSigmaVspTPCbkg";
3877 TH2F *hprotonBachSigmaVspTPCbkg=
new TH2F(fillthis.Data(),fillthis.Data(),300,0.,30.,100,-5.,5.);
3880 fOutput->Add(hprotonBachSigmaVspTPCbkg);
3886 TH1F *hZ2 =
new TH1F(
"hZ2",
"",100,-50.,50.);
3888 TH1F *hZ3 =
new TH1F(
"hZ3",
"",100,-50.,50.);
3890 TH1F *hZ4 =
new TH1F(
"hZ4",
"",100,-50.,50.);
3892 TH1F *hZ5 =
new TH1F(
"hZ5",
"",100,-50.,50.);
3894 TH1F *hZ6 =
new TH1F(
"hZ6",
"",100,-50.,50.);
3896 TH1F *hZ7 =
new TH1F(
"hZ7",
"",100,-50.,50.);
3898 TH1F *hZ8 =
new TH1F(
"hZ8",
"",100,-50.,50.);
3900 TH1F *hZ9 =
new TH1F(
"hZ9",
"",100,-50.,50.);
3902 TH1F *hZ10 =
new TH1F(
"hZ10",
"",100,-50.,50.);
3904 TH1F *hZ11 =
new TH1F(
"hZ11",
"",100,-50.,50.);
3906 TH1F *hZ12 =
new TH1F(
"hZ12",
"",100,-50.,50.);
3908 TH1F *hZ13 =
new TH1F(
"hZ13",
"",100,-50.,50.);
3910 TH1F *hZ14 =
new TH1F(
"hZ14",
"",100,-50.,50.);
3912 TH1F *hZ15 =
new TH1F(
"hZ15",
"",100,-50.,50.);
3914 TH1F *hZ16 =
new TH1F(
"hZ16",
"",100,-50.,50.);
3918 TH1F *hCandidateSelection =
new TH1F(
"hCandidateSelection",
"",10,-0.5,9.5);
3919 hCandidateSelection->GetXaxis()->SetBinLabel(1,
"IsEventSelected");
3920 hCandidateSelection->GetXaxis()->SetBinLabel(2,
"IsSecondaryVtx");
3921 hCandidateSelection->GetXaxis()->SetBinLabel(3,
"V0toPosNeg");
3922 hCandidateSelection->GetXaxis()->SetBinLabel(4,
"offlineV0");
3923 hCandidateSelection->GetXaxis()->SetBinLabel(5,
"isInFiducialAcceptance");
3924 hCandidateSelection->GetXaxis()->SetBinLabel(6,
"analCuts::kTracks");
3925 hCandidateSelection->GetXaxis()->SetBinLabel(7,
"analCuts::kCandidateNoPID");
3926 hCandidateSelection->GetXaxis()->SetBinLabel(8,
"analCuts::kPID");
3927 hCandidateSelection->GetXaxis()->SetBinLabel(9,
"analCuts::kCandidateWithPID");
3928 hCandidateSelection->GetXaxis()->SetBinLabel(10,
"analCuts::kAll");
3929 fOutput->Add(hCandidateSelection);
3931 TH1F *hEventsWithCandidates =
new TH1F(
"hEventsWithCandidates",
"conter",11,5.5,16.5);
3932 hEventsWithCandidates->GetXaxis()->SetBinLabel(1,
"GetNContributors()>0");
3933 hEventsWithCandidates->GetXaxis()->SetBinLabel(2,
"IsEventSelected");
3934 hEventsWithCandidates->GetXaxis()->SetBinLabel(3,
"triggerClass!=CINT1");
3935 hEventsWithCandidates->GetXaxis()->SetBinLabel(4,
"triggerMask!=kAnyINT");
3936 hEventsWithCandidates->GetXaxis()->SetBinLabel(5,
"triggerMask!=kAny");
3937 hEventsWithCandidates->GetXaxis()->SetBinLabel(6,
"vtxTitle.Contains(Z)");
3938 hEventsWithCandidates->GetXaxis()->SetBinLabel(7,
"vtxTitle.Contains(3D)");
3939 hEventsWithCandidates->GetXaxis()->SetBinLabel(8,
"vtxTitle.Doesn'tContain(Z-3D)");
3940 hEventsWithCandidates->GetXaxis()->SetBinLabel(9,Form(
"zVtx<=%2.0fcm",
fAnalCuts->
GetMaxVtxZ()));
3941 hEventsWithCandidates->GetXaxis()->SetBinLabel(10,
"!IsEventSelected");
3942 hEventsWithCandidates->GetXaxis()->SetBinLabel(11,
"triggerMask!=kAnyINT || triggerClass!=CINT1");
3943 fOutput->Add(hEventsWithCandidates);
3947 TH1F *hZ6a =
new TH1F(
"hZ6a",
"",100,-50.,50.);
3949 TH1F *hZ7a =
new TH1F(
"hZ7a",
"",100,-50.,50.);
3951 TH1F *hZ8a =
new TH1F(
"hZ8a",
"",100,-50.,50.);
3953 TH1F *hZ9a =
new TH1F(
"hZ9a",
"",100,-50.,50.);
3955 TH1F *hZ10a =
new TH1F(
"hZ10a",
"",100,-50.,50.);
3957 TH1F *hZ11a =
new TH1F(
"hZ11a",
"",100,-50.,50.);
3959 TH1F *hZ12a =
new TH1F(
"hZ12a",
"",100,-50.,50.);
3961 TH1F *hZ13a =
new TH1F(
"hZ13a",
"",100,-50.,50.);
3963 TH1F *hZ14a =
new TH1F(
"hZ14a",
"",100,-50.,50.);
3965 TH1F *hZ15a =
new TH1F(
"hZ15a",
"",100,-50.,50.);
3967 TH1F *hZ16a =
new TH1F(
"hZ16a",
"",100,-50.,50.);
3971 TH1F *hSwitchOnCandidates1 =
new TH1F(
"hSwitchOnCandidates1",
"",15,-7.5,7.5);
3972 fOutput->Add(hSwitchOnCandidates1);
3973 TH1F *hSwitchOnCandidates2 =
new TH1F(
"hSwitchOnCandidates2",
"",15,-7.5,7.5);
3974 fOutput->Add(hSwitchOnCandidates2);
3975 TH1F *hSwitchOnCandidates3 =
new TH1F(
"hSwitchOnCandidates3",
"",15,-7.5,7.5);
3976 fOutput->Add(hSwitchOnCandidates3);
3977 TH1F *hSwitchOnCandidates4 =
new TH1F(
"hSwitchOnCandidates4",
"",15,-7.5,7.5);
3978 fOutput->Add(hSwitchOnCandidates4);
3999 AliAODTrack *bachelor = (AliAODTrack*)part->
GetBachelor();
4003 AliAODv0 *v0part = (AliAODv0*)part->
Getv0();
4007 Double_t invmassK0S = v0part->MassK0Short();
4014 if (!appendthis.Contains(
"SgnC") && !appendthis.Contains(
"SgnB") && !appendthis.Contains(
"SgnNoQ")) {
4015 fillthis=
"histpK0Svsp"+appendthis;
4018 ((
TH2F*)(
fOutputAll->FindObject(fillthis)))->Fill(momBach,momK0S);
4019 if (isBachelorID) ((
TH2F*)(
fOutputPIDBach->FindObject(fillthis)))->Fill(momBach,momK0S);
4023 fillthis=
"histLcMassByK0S"+appendthis;
4026 ((
TH2F*)(
fOutputAll->FindObject(fillthis)))->Fill(invmassLc,lambdacpt);
4027 if (isBachelorID)((
TH2F*)(
fOutputPIDBach->FindObject(fillthis)))->Fill(invmassLc,lambdacpt);
4031 fillthis=
"histLcMassByK0SSubSample"+appendthis;
4034 if (isBachelorID)((THnSparse*)(
fOutputPIDBach->FindObject(fillthis)))->Fill(contsp);
4038 if (!appendthis.Contains(
"SgnC") && !appendthis.Contains(
"SgnB") && !appendthis.Contains(
"SgnNoQ")) {
4039 fillthis=
"histK0SMass"+appendthis;
4043 ((
TH2F*)(
fOutputAll->FindObject(fillthis)))->Fill(lambdacpt,invmassK0S);
4044 if (isBachelorID) ((
TH2F*)(
fOutputPIDBach->FindObject(fillthis)))->Fill(lambdacpt,invmassK0S);
4049 fillthis=
"histptK0S"+appendthis;
4053 ((
TH2F*)(
fOutputAll->FindObject(fillthis)))->Fill(lambdacpt,ptK0S);
4054 if (isBachelorID)((
TH2F*)(
fOutputPIDBach->FindObject(fillthis)))->Fill(lambdacpt,ptK0S);
4057 fillthis=
"histptP"+appendthis;
4061 ((
TH2F*)(
fOutputAll->FindObject(fillthis)))->Fill(lambdacpt,ptBach);
4062 if (isBachelorID)((
TH2F*)(
fOutputPIDBach->FindObject(fillthis)))->Fill(lambdacpt,ptBach);
4065 fillthis=
"histptPip"+appendthis;
4069 ((
TH2F*)(
fOutputAll->FindObject(fillthis)))->Fill(lambdacpt,ptV0pos);
4070 if (isBachelorID)((
TH2F*)(
fOutputPIDBach->FindObject(fillthis)))->Fill(lambdacpt,ptV0pos);
4073 fillthis=
"histptPim"+appendthis;
4077 ((
TH2F*)(
fOutputAll->FindObject(fillthis)))->Fill(lambdacpt,ptV0neg);
4078 if (isBachelorID)((
TH2F*)(
fOutputPIDBach->FindObject(fillthis)))->Fill(lambdacpt,ptV0neg);
4081 if (!appendthis.Contains(
"SgnC") && !appendthis.Contains(
"SgnB") && !appendthis.Contains(
"SgnNoQ")) {
4082 fillthis=
"histLambdaMass"+appendthis;
4086 ((
TH2F*)(
fOutputAll->FindObject(fillthis)))->Fill(lambdacpt,v0part->MassLambda());
4087 if (isBachelorID)((
TH2F*)(
fOutputPIDBach->FindObject(fillthis)))->Fill(lambdacpt,v0part->MassLambda());
4090 fillthis=
"histLambdaBarMass"+appendthis;
4094 ((
TH2F*)(
fOutputAll->FindObject(fillthis)))->Fill(lambdacpt,v0part->MassAntiLambda());
4095 if (isBachelorID)((
TH2F*)(
fOutputPIDBach->FindObject(fillthis)))->Fill(lambdacpt,v0part->MassAntiLambda());
4098 fillthis=
"histGammaMass"+appendthis;
4102 ((
TH2F*)(
fOutputAll->FindObject(fillthis)))->Fill(lambdacpt,v0part->InvMass2Prongs(0,1,11,11));
4103 if (isBachelorID)((
TH2F*)(
fOutputPIDBach->FindObject(fillthis)))->Fill(lambdacpt,v0part->InvMass2Prongs(0,1,11,11));
4107 fillthis=
"histD0K0S"+appendthis;
4111 ((
TH2F*)(
fOutputAll->FindObject(fillthis)))->Fill(lambdacpt,part->Getd0Prong(1));
4112 if (isBachelorID)((
TH2F*)(
fOutputPIDBach->FindObject(fillthis)))->Fill(lambdacpt,part->Getd0Prong(1));
4115 fillthis=
"histD0P"+appendthis;
4119 ((
TH2F*)(
fOutputAll->FindObject(fillthis)))->Fill(lambdacpt,part->Getd0Prong(0));
4120 if (isBachelorID)((
TH2F*)(
fOutputPIDBach->FindObject(fillthis)))->Fill(lambdacpt,part->Getd0Prong(0));
4123 fillthis=
"histCosPAK0S"+appendthis;
4131 fillthis=
"histCosThetaProtonCMS"+appendthis;
4139 fillthis=
"histResignedD0"+appendthis;
4164 bachelor->PxPyPz(pxpypz);
4165 bachelor->XvYvZv(xyz);
4166 bachelor->GetCovarianceXYZPxPyPz(cv);
4167 sign=bachelor->Charge();
4168 AliExternalTrackParam *t =
new AliExternalTrackParam(xyz,pxpypz,cv,sign);
4170 Double_t alpha=t->GetAlpha(), cs1=TMath::Cos(alpha), sn1=TMath::Sin(alpha);
4174 Double_t x1=xyz[0], y1=xyz[1], z1=xyz[2];
4175 Double_t px1=pxpypz[0], py1=pxpypz[1], pz1=pxpypz[2];
4179 y2=v->DecayVertexV0Y(),
4180 z2=v->DecayVertexV0Z();
4208 Double_t dd=
Det(x2-x1,y2-y1,z2-z1,px1,py1,pz1,px2,py2,pz2);
4213 Double_t dca=TMath::Abs(dd)/TMath::Sqrt(ax*ax + ay*ay + az*az);
4216 Double_t t1 =
Det(x2-x1,y2-y1,z2-z1,px2,py2,pz2,ax,ay,az)/
4217 Det(px1,py1,pz1,px2,py2,pz2,ax,ay,az);
4218 x1 += px1*t1; y1 += py1*t1; z1 += pz1*t1;
4222 if (!t->PropagateTo(rho1,b)) {
4223 Error(
"PropagateToDCA",
"Propagation failed !");
4228 Double_t pBachelorDCA[3]; t->GetPxPyPz(pBachelorDCA);
4229 pxVtxBachelor=pBachelorDCA[0], pyVtxBachelor=pBachelorDCA[1], pzVtxBachelor=pBachelorDCA[2];
4234 Double_t t2 =
Det(x1-x2,y1-y2,z1-z2,px1,py1,pz1,ax,ay,az)/
4235 Det(px2,py2,pz2,px1,py1,pz1,ax,ay,az);
4236 x2 += px2*t2; y2 += py2*t2; z2 += pz2*t2;
4240 xVtxLc = 0.5*(x1+x2);
4241 yVtxLc = 0.5*(y1+y2);
4242 zVtxLc = 0.5*(z1+z2);
4257 const double kSafe = 1e-5;
4258 Double_t radPos2 = xyz[0]*xyz[0]+xyz[1]*xyz[1];
4260 if (radPos2 < radMax*radMax) {
4261 alpha = TMath::ATan2(pxpypz[1],pxpypz[0]);
4263 Float_t phiPos = TMath::Pi()+TMath::ATan2(-xyz[1], -xyz[0]);
4265 TMath::DegToRad()*(20*((((
Int_t)(phiPos*TMath::RadToDeg()))/20))+10);
4268 Double_t cs=TMath::Cos(alpha), sn=TMath::Sin(alpha);
4270 if (TMath::Abs(sn)<2*kSafe) {
4271 if (alpha>0) alpha += alpha< TMath::Pi()/2. ? 2*kSafe : -2*kSafe;
4272 else alpha += alpha>-TMath::Pi()/2. ? -2*kSafe : 2*kSafe;
4273 cs=TMath::Cos(alpha);
4274 sn=TMath::Sin(alpha);
4276 else if (TMath::Abs(cs)<2*kSafe) {
4277 if (alpha>0) alpha += alpha> TMath::Pi()/2. ? 2*kSafe : -2*kSafe;
4278 else alpha += alpha>-TMath::Pi()/2. ? 2*kSafe : -2*kSafe;
4279 cs=TMath::Cos(alpha);
4280 sn=TMath::Sin(alpha);
4294 return a00*a11 - a01*a10;
4305 return a00*
Det(a11,a12,a21,a22)-a01*
Det(a10,a12,a20,a22)+a02*
Det(a10,a11,a20,a21);
4310 TClonesArray *mcArray)
4318 AliAODv0 *theV0 =
dynamic_cast<AliAODv0*
>(candidate->
Getv0());
4319 AliVTrack *trk =
dynamic_cast<AliVTrack*
>(candidate->
GetBachelor());
4320 if (!trk || !theV0)
return -1;
4322 if (trk->GetLabel()==-1)
return -1;
4323 Int_t bachLabels = TMath::Abs(trk->GetLabel());
4324 AliAODMCParticle*bachelorMC =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(bachLabels));
4325 if (!bachelorMC)
return -1;
4326 if (TMath::Abs(bachelorMC->GetPdgCode())!=2212)
return -1;
4327 Int_t indexMotherBach = bachelorMC->GetMother();
4328 if (indexMotherBach==-1)
return -1;
4330 Int_t pdgDg2prong[2] = {211,211};
4331 Int_t lab2Prong = theV0->MatchToMC(310,mcArray,2,pdgDg2prong);
4332 if(lab2Prong<0)
return -1;
4333 AliAODMCParticle*partK0S =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(lab2Prong));
4334 if (!partK0S)
return -1;
4335 Int_t indexMotherK0S = partK0S->GetMother();
4336 if (indexMotherK0S==-1)
return -1;
4337 AliAODMCParticle*partK0 =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(indexMotherK0S));
4338 if (!partK0)
return -1;
4339 Int_t indexMotherK0 = partK0->GetMother();
4340 if (indexMotherK0==-1)
return -1;
4342 if (indexMotherBach!=indexMotherK0)
return -1;
4344 AliAODMCParticle*partLc =
dynamic_cast<AliAODMCParticle*
>(mcArray->At(indexMotherK0));
4345 if (!partLc)
return -1;
4346 Int_t ndg2 = partLc->GetDaughter(1)-partLc->GetDaughter(0)+1;
4347 if (ndg2==2)
return -1;
4349 TString stringaCheck = Form(
">>>>>>>> %d -> ",partLc->GetPdgCode());
4350 for(
Int_t ii=0; ii<ndg2; ii++) {
4351 AliAODMCParticle* partDau=(AliAODMCParticle*)(mcArray->At(partLc->GetDaughter(0)+ii));
4352 stringaCheck.Append(Form(
" %d",partDau->GetPdgCode()));
4356 return indexMotherBach;
4370 Int_t lab=-1,labMother=-1,pdgMother=0;
4371 AliAODMCParticle *part=0;
4372 AliAODMCParticle *mother=0;
4376 for(
Int_t i=0; i<ndg; i++) labelMother[i] =
new TArrayI(0);
4377 for(
Int_t i=0; i<ndg; i++) {
4378 lab = TMath::Abs(dgLabels[i]);
4380 AliDebug(2,Form(
"daughter with negative label %d",lab));
4381 delete [] labelMother;
4384 part = (AliAODMCParticle*)mcArray->At(lab);
4386 AliDebug(2,
"no MC particle");
4387 delete [] labelMother;
4392 while(mother->GetMother()>=0) {
4393 labMother=mother->GetMother();
4394 mother = (AliAODMCParticle*)mcArray->At(labMother);
4396 AliDebug(2,
"no MC mother particle");
4399 pdgMother = TMath::Abs(mother->GetPdgCode());
4400 if (pdgMother<10 || (pdgMother>18 && pdgMother<111)) {
4403 labelMother[i]->Set(labelMother[i]->GetSize()+1);
4404 labelMother[i]->AddAt(labMother,labelMother[i]->GetSize()-1);
4411 for(
Int_t i=0; i<ndg; i++) {
4412 AliAODMCParticle*part0 = (AliAODMCParticle*)mcArray->At(TMath::Abs(dgLabels[i]));
4413 stringaCheck.Append(Form(
"part[%d]->GetLabel()=%d(%d) | ",i,dgLabels[i],part0->GetPdgCode()));
4414 stringaCheck.Append(Form(
"labelMother[%d] = ",i));
4415 for (
Int_t jj=0;jj<labelMother[i]->GetSize(); jj++)
4416 stringaCheck.Append(Form(
"%d, ",labelMother[i]->At(jj)));
4418 AliDebug(2,Form(
"%s \n",stringaCheck.Data()));
4419 Int_t pdgToBeReturned=0;
4423 pdgDg =
new Int_t[ndgCk];
4424 for (
Int_t index=1; index<ndg; index++) {
4426 for (
Int_t jj=0;jj<labelMother[index]->GetSize(); jj++) {
4427 for (
Int_t ii=0;ii<labelMother[0]->GetSize(); ii++) {
4428 if (labelMother[0]->At(ii)==labelMother[index]->At(jj) &&
4429 labelMother[0]->At(ii)!=0 && labelMother[0]->At(ii)!=1 && !found) {
4430 mother = (AliAODMCParticle*)mcArray->At(labelMother[0]->At(ii));
4431 pdgToBeReturned=mother->GetPdgCode();
4432 absLabelMother=labelMother[0]->At(ii);
4433 AliDebug(2,Form(
"FOUND label for the mother of this candidate: %d (PDG=%d)\n",labelMother[0]->At(ii),pdgToBeReturned));
4435 nDauCand=mother->GetNDaughters();
4437 AliAODMCParticle *partMC = (AliAODMCParticle*)mcArray->At(dgLabels[0]);
4438 pdgDg[0]=partMC->GetPdgCode();
4439 partMC = (AliAODMCParticle*)mcArray->At(dgLabels[index]);
4440 pdgDg[index]=partMC->GetPdgCode();
4441 if (index==1) stringaCheck2.Append(Form(
"found daughters -> %d(%d)",dgLabels[0],pdgDg[0]));
4442 stringaCheck2.Append(Form(
" %d(%d)",dgLabels[index],pdgDg[index]));
4449 stringaCheck2.Prepend(Form(
"Ecco quanto trovato: %d(%d) with %d daughters; ",absLabelMother,pdgToBeReturned,nDauCand));
4450 AliDebug(2,Form(
"%s \n",stringaCheck2.Data()));
4452 delete [] labelMother;
4455 return pdgToBeReturned;
4464 Double_t px[2]={partCopy->PxProng(0),partCopy->PxProng(1)};
4465 Double_t py[2]={partCopy->PyProng(0),partCopy->PyProng(1)};
4466 Double_t pz[2]={partCopy->PzProng(0),partCopy->PzProng(1)};
4470 UInt_t pdgLc2pK0S[2]={2212,310};
4471 Double_t minv2 = partCopy->InvMass2(2,pdgLc2pK0S);
4473 Double_t rapid = partCopy->Y(pdgD);
4478 fillthis=
"hMassVsPtVsY"+appendthis;
4482 fillthis=
"phiVSthetaVSpt"+appendthis;
4497 px[0]=tmpx*TMath::Cos(phirot)-tmpy*TMath::Sin(phirot);
4498 py[0]=tmpx*TMath::Sin(phirot)+tmpy*TMath::Cos(phirot);
4499 partCopy->SetPxPyPzProngs(2,px,py,pz);
4500 pt = partCopy->Pt();
4501 minv2 = partCopy->InvMass2(2,pdgLc2pK0S);
4502 massRot=TMath::Sqrt(minv2);
4503 rapid = partCopy->Y(pdgD);
4508 fillthis=
"histLcMassByK0S"+appendthis;
4512 fillthis=
"hMassVsPtVsYRot"+appendthis;
4516 fillthis=
"phiVSthetaVSptRot"+appendthis;
4520 fillthis=
"hDeltaMass"+appendthis;
4534 fillthis=
"histptK0S"+appendthis;
4538 ((
TH2F*)(
fOutputPIDBachTR->FindObject(fillthis)))->Fill(pt,TMath::Sqrt(px[1]*px[1]+py[1]*py[1]));
4541 fillthis=
"histptP"+appendthis;
4545 ((
TH2F*)(
fOutputPIDBachTR->FindObject(fillthis)))->Fill(pt,TMath::Sqrt(px[0]*px[0]+py[0]*py[0]));
4548 fillthis=
"histptPip"+appendthis;
4555 fillthis=
"histptPim"+appendthis;
4562 fillthis=
"histLambdaMass"+appendthis;
4569 fillthis=
"histLambdaBarMass"+appendthis;
4576 fillthis=
"histGammaMass"+appendthis;
4583 fillthis=
"histCosPAK0S"+appendthis;
4590 fillthis=
"histCosThetaProtonCMS"+appendthis;
4597 fillthis=
"histResignedD0"+appendthis;
4610 fillthis=
"hNormRotated"+appendthis;
4630 Double_t mLcPDG = TDatabasePDG::Instance()->GetParticle(4122)->Mass();
4631 Double_t mK0SPDG = TDatabasePDG::Instance()->GetParticle(310)->Mass();
4632 Double_t mMinLambdaPDG = TDatabasePDG::Instance()->GetParticle(2212)->Mass()+
4633 TDatabasePDG::Instance()->GetParticle(211)->Mass();
4635 TString nameHistoSgnC=
" ", nameHistoSgnB=
" ", nameHistoSgnNoQ=
" ";
4636 TString titleHistoSgnC=
" ", titleHistoSgnB=
" ", titleHistoSgnNoQ=
" ";
4655 binLimpTprong[ 0]= 0.0;
4656 binLimpTprong[ 1]= 0.1;
4657 binLimpTprong[ 2]= 0.2;
4658 binLimpTprong[ 3]= 0.3;
4659 binLimpTprong[ 4]= 0.4;
4660 binLimpTprong[ 5]= 0.5;
4661 binLimpTprong[ 6]= 0.6;
4662 binLimpTprong[ 7]= 0.7;
4663 binLimpTprong[ 8]= 0.8;
4664 binLimpTprong[ 9]= 0.9;
4665 binLimpTprong[10]= 1.0;
4666 binLimpTprong[11]= 1.2;
4667 binLimpTprong[12]= 1.4;
4668 binLimpTprong[13]= 1.6;
4669 binLimpTprong[14]= 1.8;
4670 binLimpTprong[15]= 2.0;
4671 binLimpTprong[16]= 2.2;
4672 binLimpTprong[17]= 2.4;
4673 binLimpTprong[18]= 2.6;
4674 binLimpTprong[19]= 2.8;
4675 binLimpTprong[20]= 3.0;
4676 binLimpTprong[21]= 3.5;
4677 binLimpTprong[22]= 4.0;
4678 binLimpTprong[23]= 4.5;
4679 binLimpTprong[24]= 5.0;
4680 binLimpTprong[25]= 5.5;
4681 binLimpTprong[26]= 6.0;
4682 binLimpTprong[27]= 6.5;
4683 binLimpTprong[28]= 7.0;
4684 binLimpTprong[29]= 7.5;
4685 binLimpTprong[30]= 8.0;
4686 binLimpTprong[31]= 9.0;
4687 binLimpTprong[32]=10.0;
4688 binLimpTprong[33]=11.0;
4689 binLimpTprong[34]=12.0;
4690 binLimpTprong[35]=13.0;
4691 binLimpTprong[36]=14.0;
4692 binLimpTprong[37]=15.0;
4693 binLimpTprong[38]=20.0;
4694 binLimpTprong[39]=25.0;
4695 binLimpTprong[40]=30.0;
4696 binLimpTprong[41]=35.0;
4700 nameHistoSgnC=
"histLcMassByK0SSgnC";
4701 nameHistoSgnB=
"histLcMassByK0SSgnB";
4702 nameHistoSgnNoQ=
"histLcMassByK0SSgnNoQ";
4703 titleHistoSgnC=
"#Lambda_{c} #leftarrow c - sgn: invariant mass (by K^{0}_{S}) vs p_{T} - MC; m_{inv}(p,K^{0}_{S}) [GeV/c^{2}]; p_{T}(#Lambda_{c}) [GeV/c]";
4704 titleHistoSgnB=
"#Lambda_{c} #leftarrow b - sgn: invariant mass (by K^{0}_{S}) vs p_{T} - MC; m_{inv}(p,K^{0}_{S}) [GeV/c^{2}]; p_{T}(#Lambda_{c}) [GeV/c]";
4705 titleHistoSgnNoQ=
"#Lambda_{c} #leftarrow no quark - sgn: invariant mass (by K^{0}_{S}) vs p_{T} - MC; m_{inv}(p,K^{0}_{S}) [GeV/c^{2}]; p_{T}(#Lambda_{c}) [GeV/c]";
4706 TH2F* spectrumLcMassByK0SSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),1000,mLcPDG-0.250,mLcPDG+0.250,11,binLimpTLc);
4707 TH2F* spectrumLcMassByK0SSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),1000,mLcPDG-0.250,mLcPDG+0.250,11,binLimpTLc);
4708 TH2F* spectrumLcMassByK0SSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),1000,mLcPDG-0.250,mLcPDG+0.250,11,binLimpTLc);
4710 TH2F* allspectrumLcMassByK0SSgnC = (
TH2F*)spectrumLcMassByK0SSgnC->Clone();
4711 TH2F* allspectrumLcMassByK0SSgnB = (
TH2F*) spectrumLcMassByK0SSgnB->Clone();
4712 TH2F* allspectrumLcMassByK0SSgnNoQ = (
TH2F*) spectrumLcMassByK0SSgnNoQ->Clone();
4713 TH2F* pidBachspectrumLcMassByK0SSgnC = (
TH2F*)spectrumLcMassByK0SSgnC->Clone();
4714 TH2F* pidBachspectrumLcMassByK0SSgnB = (
TH2F*) spectrumLcMassByK0SSgnB->Clone();
4715 TH2F* pidBachspectrumLcMassByK0SSgnNoQ = (
TH2F*) spectrumLcMassByK0SSgnNoQ->Clone();
4719 fOutputAll->Add(allspectrumLcMassByK0SSgnNoQ);
4724 nameHistoSgnC=
"histptK0SSgnC";
4725 nameHistoSgnB=
"histptK0SSgnB";
4726 nameHistoSgnNoQ=
"histptK0SSgnNoQ";
4727 titleHistoSgnC=
"p_{T}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(K^{0}_{S}) [GeV/c]; Entries";
4728 titleHistoSgnB=
"p_{T}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(K^{0}_{S}) [GeV/c]; Entries";
4729 titleHistoSgnNoQ=
"p_{T}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(K^{0}_{S}) [GeV/c]; Entries";
4730 TH2F* ptK0SSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),11,binLimpTLc,41,binLimpTprong);
4731 TH2F* ptK0SSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),11,binLimpTLc,41,binLimpTprong);
4732 TH2F* ptK0SSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),11,binLimpTLc,41,binLimpTprong);
4734 nameHistoSgnC=
"histptPSgnC";
4735 nameHistoSgnB=
"histptPSgnB";
4736 nameHistoSgnNoQ=
"histptPSgnNoQ";
4737 titleHistoSgnC=
"p_{T}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(p) [GeV/c]; Entries";
4738 titleHistoSgnB=
"p_{T}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(p) [GeV/c]; Entries";
4739 titleHistoSgnNoQ=
"p_{T}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(p) [GeV/c]; Entries";
4740 TH2F* ptPSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),11,binLimpTLc,41,binLimpTprong);
4741 TH2F* ptPSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),11,binLimpTLc,41,binLimpTprong);
4742 TH2F* ptPSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),11,binLimpTLc,41,binLimpTprong);
4744 nameHistoSgnC=
"histptPipSgnC";
4745 nameHistoSgnB=
"histptPipSgnB";
4746 nameHistoSgnNoQ=
"histptPipSgnNoQ";
4747 titleHistoSgnC=
"p_{T}(#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{+}) [GeV/c]; Entries";
4748 titleHistoSgnB=
"p_{T}(#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{+}) [GeV/c]; Entries";
4749 titleHistoSgnNoQ=
"p_{T}(#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{+}) [GeV/c]; Entries";
4750 TH2F* ptPiPSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),11,binLimpTLc,41,binLimpTprong);
4751 TH2F* ptPiPSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),11,binLimpTLc,41,binLimpTprong);
4752 TH2F* ptPiPSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnB.Data(),11,binLimpTLc,41,binLimpTprong);
4754 nameHistoSgnC=
"histptPimSgnC";
4755 nameHistoSgnB=
"histptPimSgnB";
4756 nameHistoSgnNoQ=
"histptPimSgnNoQ";
4757 titleHistoSgnC=
"p_{T}(#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{-}) [GeV/c]; Entries";
4758 titleHistoSgnB=
"p_{T}(#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{-}) [GeV/c]; Entries";
4759 titleHistoSgnNoQ=
"p_{T}(#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{-}) [GeV/c]; Entries";
4760 TH2F* ptPiMSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),11,binLimpTLc,41,binLimpTprong);
4761 TH2F* ptPiMSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),11,binLimpTLc,41,binLimpTprong);
4762 TH2F* ptPiMSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnB.Data(),11,binLimpTLc,41,binLimpTprong);
4764 nameHistoSgnC=
"histD0K0SSgnC";
4765 nameHistoSgnB=
"histD0K0SSgnB";
4766 nameHistoSgnNoQ=
"histD0K0SSgnNoQ";
4767 titleHistoSgnC=
"d_{0}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(K^{0}_{S}) [#sigmas]; Entries";
4768 titleHistoSgnB=
"d_{0}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(K^{0}_{S}) [#sigmas]; Entries";
4769 titleHistoSgnNoQ=
"d_{0}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(K^{0}_{S}) [#sigmas]; Entries";
4770 TH2F* d0K0SSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),11,binLimpTLc,1000,-1.,1.);
4771 TH2F* d0K0SSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),11,binLimpTLc,1000,-1.,1.);
4772 TH2F* d0K0SSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),11,binLimpTLc,1000,-1.,1.);
4774 nameHistoSgnC=
"histD0PSgnC";
4775 nameHistoSgnB=
"histD0PSgnB";
4776 nameHistoSgnNoQ=
"histD0PSgnNoQ";
4777 titleHistoSgnC=
"d_{0}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(p) [cm]; Entries";
4778 titleHistoSgnB=
"d_{0}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(p) [cm]; Entries";
4779 titleHistoSgnNoQ=
"d_{0}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(p) [cm]; Entries";
4780 TH2F* d0PSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),11,binLimpTLc,1000,-1.,1.);
4781 TH2F* d0PSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),11,binLimpTLc,1000,-1.,1.);
4782 TH2F* d0PSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),11,binLimpTLc,1000,-1.,1.);
4784 nameHistoSgnC=
"histCosPAK0SSgnC";
4785 nameHistoSgnB=
"histCosPAK0SSgnB";
4786 nameHistoSgnNoQ=
"histCosPAK0SSgnNoQ";
4787 titleHistoSgnC=
"K^{0}_{S} cosine of pointing angle wrt primary vertex vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
4788 titleHistoSgnB=
"K^{0}_{S} cosine of pointing angle wrt primary vertex vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
4789 titleHistoSgnNoQ=
"K^{0}_{S} cosine of pointing angle wrt primary vertex vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
4790 TH2F *cosPAK0SSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),41,binLimpTprong,100,0.99,1.);
4791 TH2F *cosPAK0SSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),41,binLimpTprong,100,0.99,1.);
4792 TH2F *cosPAK0SSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),41,binLimpTprong,100,0.99,1.);
4794 nameHistoSgnC=
"histCosThetaProtonCMSSgnC";
4795 nameHistoSgnB=
"histCosThetaProtonCMSSgnB";
4796 nameHistoSgnNoQ=
"histCosThetaProtonCMSSgnNoQ";
4797 titleHistoSgnC=
"cosien of proton emission angle in Lc rest frame; p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
4798 titleHistoSgnB=
"cosien of proton emission angle in Lc rest frame; p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
4799 titleHistoSgnNoQ=
"cosien of proton emission angle in Lc rest frame; p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
4800 TH2F *cosThePrSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),41,binLimpTprong,100,-1.,1.);
4801 TH2F *cosThePrSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),41,binLimpTprong,100,-1.,1.);
4802 TH2F *cosThePrSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),41,binLimpTprong,100,-1.,1.);
4804 nameHistoSgnC=
"histResignedD0SgnC";
4805 nameHistoSgnB=
"histResignedD0SgnB";
4806 nameHistoSgnNoQ=
"histResignedD0SgnNoQ";
4807 titleHistoSgnC=
"Proton d0 with different sign convention; p_{T}(#Lambda_{c}) [GeV/c]; d0 [cm]; Entries";
4808 titleHistoSgnB=
"Proton d0 with different sign convention; p_{T}(#Lambda_{c}) [GeV/c]; d0 [cm]; Entries";
4809 titleHistoSgnNoQ=
"Proton d0 with different sign convention; p_{T}(#Lambda_{c}) [GeV/c]; d0 [cm]; Entries";
4810 TH2F *resignedD0SgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),41,binLimpTprong,100,-0.1,0.1);
4811 TH2F *resignedD0SgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),41,binLimpTprong,100,-0.1,0.1);
4812 TH2F *resignedD0SgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),41,binLimpTprong,100,-0.1,0.1);
4814 TH2F* allptK0SSgnC = (
TH2F*)ptK0SSgnC->Clone();
4815 TH2F* allptK0SSgnB = (
TH2F*)ptK0SSgnB->Clone();
4816 TH2F* allptK0SSgnNoQ = (
TH2F*)ptK0SSgnNoQ->Clone();
4817 TH2F* allptPSgnC = (
TH2F*)ptPSgnC->Clone();
4818 TH2F* allptPSgnB = (
TH2F*)ptPSgnB->Clone();
4819 TH2F* allptPSgnNoQ = (
TH2F*)ptPSgnNoQ->Clone();
4820 TH2F* allptPiPSgnC = (
TH2F*)ptPiPSgnC->Clone();
4821 TH2F* allptPiPSgnB = (
TH2F*)ptPiPSgnB->Clone();
4822 TH2F* allptPiPSgnNoQ = (
TH2F*)ptPiPSgnNoQ->Clone();
4823 TH2F* allptPiMSgnC = (
TH2F*)ptPiMSgnC->Clone();
4824 TH2F* allptPiMSgnB = (
TH2F*)ptPiMSgnB->Clone();
4825 TH2F* allptPiMSgnNoQ = (
TH2F*)ptPiMSgnNoQ->Clone();
4826 TH2F* alld0K0SSgnC = (
TH2F*)d0K0SSgnC->Clone();
4827 TH2F* alld0K0SSgnB = (
TH2F*)d0K0SSgnB->Clone();
4828 TH2F* alld0K0SSgnNoQ = (
TH2F*)d0K0SSgnNoQ->Clone();
4829 TH2F* alld0PSgnC = (
TH2F*)d0PSgnC->Clone();
4830 TH2F* alld0PSgnB = (
TH2F*)d0PSgnB->Clone();
4831 TH2F* alld0PSgnNoQ = (
TH2F*)d0PSgnNoQ->Clone();
4832 TH2F* allcosPAK0SSgnC = (
TH2F*)cosPAK0SSgnC->Clone();
4833 TH2F* allcosPAK0SSgnB = (
TH2F*)cosPAK0SSgnB->Clone();
4834 TH2F* allcosPAK0SSgnNoQ = (
TH2F*)cosPAK0SSgnNoQ->Clone();
4835 TH2F* allcosThePrSgnC = (
TH2F*)cosThePrSgnC->Clone();
4836 TH2F* allcosThePrSgnB = (
TH2F*)cosThePrSgnB->Clone();
4837 TH2F* allcosThePrSgnNoQ = (
TH2F*)cosThePrSgnNoQ->Clone();
4838 TH2F* allresignedD0SgnC = (
TH2F*)resignedD0SgnC->Clone();
4839 TH2F* allresignedD0SgnB = (
TH2F*)resignedD0SgnB->Clone();
4840 TH2F* allresignedD0SgnNoQ = (
TH2F*)resignedD0SgnNoQ->Clone();
4842 TH2F* pidptK0SSgnC = (
TH2F*)ptK0SSgnC->Clone();
4843 TH2F* pidptK0SSgnB = (
TH2F*)ptK0SSgnB->Clone();
4844 TH2F* pidptK0SSgnNoQ = (
TH2F*)ptK0SSgnNoQ->Clone();
4845 TH2F* pidptPSgnC = (
TH2F*)ptPSgnC->Clone();
4846 TH2F* pidptPSgnB = (
TH2F*)ptPSgnB->Clone();
4847 TH2F* pidptPSgnNoQ = (
TH2F*)ptPSgnNoQ->Clone();
4848 TH2F* pidptPiPSgnC = (
TH2F*)ptPiPSgnC->Clone();
4849 TH2F* pidptPiPSgnB = (
TH2F*)ptPiPSgnB->Clone();
4850 TH2F* pidptPiPSgnNoQ = (
TH2F*)ptPiPSgnNoQ->Clone();
4851 TH2F* pidptPiMSgnC = (
TH2F*)ptPiMSgnC->Clone();
4852 TH2F* pidptPiMSgnB = (
TH2F*)ptPiMSgnB->Clone();
4853 TH2F* pidptPiMSgnNoQ = (
TH2F*)ptPiMSgnNoQ->Clone();
4854 TH2F* pidd0K0SSgnC = (
TH2F*)d0K0SSgnC->Clone();
4855 TH2F* pidd0K0SSgnB = (
TH2F*)d0K0SSgnB->Clone();
4856 TH2F* pidd0K0SSgnNoQ = (
TH2F*)d0K0SSgnNoQ->Clone();
4857 TH2F* pidd0PSgnC = (
TH2F*)d0PSgnC->Clone();
4858 TH2F* pidd0PSgnB = (
TH2F*)d0PSgnB->Clone();
4859 TH2F* pidd0PSgnNoQ = (
TH2F*)d0PSgnNoQ->Clone();
4860 TH2F* pidcosPAK0SSgnC = (
TH2F*)cosPAK0SSgnC->Clone();
4861 TH2F* pidcosPAK0SSgnB = (
TH2F*)cosPAK0SSgnB->Clone();
4862 TH2F* pidcosPAK0SSgnNoQ = (
TH2F*)cosPAK0SSgnNoQ->Clone();
4863 TH2F* pidcosThePrSgnC = (
TH2F*)cosThePrSgnC->Clone();
4864 TH2F* pidcosThePrSgnB = (
TH2F*)cosThePrSgnB->Clone();
4865 TH2F* pidcosThePrSgnNoQ = (
TH2F*)cosThePrSgnNoQ->Clone();
4866 TH2F* pidresignedD0SgnC = (
TH2F*)resignedD0SgnC->Clone();
4867 TH2F* pidresignedD0SgnB = (
TH2F*)resignedD0SgnB->Clone();
4868 TH2F* pidresignedD0SgnNoQ = (
TH2F*)resignedD0SgnNoQ->Clone();
4928 nameHistoSgnC=
"histLcMassByK0SOfflineSgnC";
4929 nameHistoSgnB=
"histLcMassByK0SOfflineSgnB";
4930 nameHistoSgnNoQ=
"histLcMassByK0SOfflineSgnNoQ";
4931 titleHistoSgnC=
"#Lambda_{c} #leftarrow c - sgn: invariant mass (by K^{0}_{S}) vs p_{T} - MC; m_{inv}(p,K^{0}_{S}) [GeV/c^{2}]; p_{T}(#Lambda_{c}) [GeV/c]";
4932 titleHistoSgnB=
"#Lambda_{c} #leftarrow b - sgn: invariant mass (by K^{0}_{S}) vs p_{T} - MC; m_{inv}(p,K^{0}_{S}) [GeV/c^{2}]; p_{T}(#Lambda_{c}) [GeV/c]";
4933 titleHistoSgnNoQ=
"#Lambda_{c} #leftarrow no quark - sgn: invariant mass (by K^{0}_{S}) vs p_{T} - MC; m_{inv}(p,K^{0}_{S}) [GeV/c^{2}]; p_{T}(#Lambda_{c}) [GeV/c]";
4934 TH2F* spectrumLcMassOfflineByK0SSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),1000,mLcPDG-0.250,mLcPDG+0.250,11,binLimpTLc);
4935 TH2F* spectrumLcMassOfflineByK0SSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),1000,mLcPDG-0.250,mLcPDG+0.250,11,binLimpTLc);
4936 TH2F* spectrumLcMassOfflineByK0SSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),1000,mLcPDG-0.250,mLcPDG+0.250,11,binLimpTLc);
4938 TH2F* allspectrumLcMassOfflineByK0SSgnC = (
TH2F*)spectrumLcMassOfflineByK0SSgnC->Clone();
4939 TH2F* allspectrumLcMassOfflineByK0SSgnB = (
TH2F*) spectrumLcMassOfflineByK0SSgnB->Clone();
4940 TH2F* allspectrumLcMassOfflineByK0SSgnNoQ = (
TH2F*) spectrumLcMassOfflineByK0SSgnNoQ->Clone();
4941 TH2F* pidBachspectrumLcMassOfflineByK0SSgnC = (
TH2F*)spectrumLcMassOfflineByK0SSgnC->Clone();
4942 TH2F* pidBachspectrumLcMassOfflineByK0SSgnB = (
TH2F*) spectrumLcMassOfflineByK0SSgnB->Clone();
4943 TH2F* pidBachspectrumLcMassOfflineByK0SSgnNoQ = (
TH2F*) spectrumLcMassOfflineByK0SSgnNoQ->Clone();
4944 fOutputAll->Add(allspectrumLcMassOfflineByK0SSgnC);
4945 fOutputAll->Add(allspectrumLcMassOfflineByK0SSgnB);
4946 fOutputAll->Add(allspectrumLcMassOfflineByK0SSgnNoQ);
4951 nameHistoSgnC=
"histptK0SOfflineSgnC";
4952 nameHistoSgnB=
"histptK0SOfflineSgnB";
4953 nameHistoSgnNoQ=
"histptK0SOfflineSgnNoQ";
4954 titleHistoSgnC=
"p_{T}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(K^{0}_{S}) [GeV/c]; Entries";
4955 titleHistoSgnB=
"p_{T}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(K^{0}_{S}) [GeV/c]; Entries";
4956 titleHistoSgnNoQ=
"p_{T}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(K^{0}_{S}) [GeV/c]; Entries";
4957 TH2F* ptK0SOfflineSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),11,binLimpTLc,41,binLimpTprong);
4958 TH2F* ptK0SOfflineSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),11,binLimpTLc,41,binLimpTprong);
4959 TH2F* ptK0SOfflineSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),11,binLimpTLc,41,binLimpTprong);
4961 nameHistoSgnC=
"histptPOfflineSgnC";
4962 nameHistoSgnB=
"histptPOfflineSgnB";
4963 nameHistoSgnNoQ=
"histptPOfflineSgnNoQ";
4964 titleHistoSgnC=
"p_{T}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(p) [GeV/c]; Entries";
4965 titleHistoSgnB=
"p_{T}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(p) [GeV/c]; Entries";
4966 titleHistoSgnNoQ=
"p_{T}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(p) [GeV/c]; Entries";
4967 TH2F* ptPOfflineSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),11,binLimpTLc,41,binLimpTprong);
4968 TH2F* ptPOfflineSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),11,binLimpTLc,41,binLimpTprong);
4969 TH2F* ptPOfflineSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),11,binLimpTLc,41,binLimpTprong);
4971 nameHistoSgnC=
"histptPipOfflineSgnC";
4972 nameHistoSgnB=
"histptPipOfflineSgnB";
4973 nameHistoSgnNoQ=
"histptPipOfflineSgnNoQ";
4974 titleHistoSgnC=
"p_{T}(#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{+}) [GeV/c]; Entries";
4975 titleHistoSgnB=
"p_{T}(#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{+}) [GeV/c]; Entries";
4976 titleHistoSgnNoQ=
"p_{T}(#pi^{+}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{+}) [GeV/c]; Entries";
4977 TH2F* ptPiPOfflineSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),11,binLimpTLc,41,binLimpTprong);
4978 TH2F* ptPiPOfflineSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),11,binLimpTLc,41,binLimpTprong);
4979 TH2F* ptPiPOfflineSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnB.Data(),11,binLimpTLc,41,binLimpTprong);
4981 nameHistoSgnC=
"histptPimOfflineSgnC";
4982 nameHistoSgnB=
"histptPimOfflineSgnB";
4983 nameHistoSgnNoQ=
"histptPimOfflineSgnNoQ";
4984 titleHistoSgnC=
"p_{T}(#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{-}) [GeV/c]; Entries";
4985 titleHistoSgnB=
"p_{T}(#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{-}) [GeV/c]; Entries";
4986 titleHistoSgnNoQ=
"p_{T}(#pi^{-}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; p_{T}(#pi^{-}) [GeV/c]; Entries";
4987 TH2F* ptPiMOfflineSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),11,binLimpTLc,41,binLimpTprong);
4988 TH2F* ptPiMOfflineSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),11,binLimpTLc,41,binLimpTprong);
4989 TH2F* ptPiMOfflineSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnB.Data(),11,binLimpTLc,41,binLimpTprong);
4991 nameHistoSgnC=
"histD0K0SOfflineSgnC";
4992 nameHistoSgnB=
"histD0K0SOfflineSgnB";
4993 nameHistoSgnNoQ=
"histD0K0SOfflineSgnNoQ";
4994 titleHistoSgnC=
"d_{0}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(K^{0}_{S}) [#sigmas]; Entries";
4995 titleHistoSgnB=
"d_{0}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(K^{0}_{S}) [#sigmas]; Entries";
4996 titleHistoSgnNoQ=
"d_{0}(K^{0}_{S}) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(K^{0}_{S}) [#sigmas]; Entries";
4997 TH2F* d0K0SOfflineSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),11,binLimpTLc,1000,-1.,1.);
4998 TH2F* d0K0SOfflineSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),11,binLimpTLc,1000,-1.,1.);
4999 TH2F* d0K0SOfflineSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),11,binLimpTLc,1000,-1.,1.);
5001 nameHistoSgnC=
"histD0POfflineSgnC";
5002 nameHistoSgnB=
"histD0POfflineSgnB";
5003 nameHistoSgnNoQ=
"histD0POfflineSgnNoQ";
5004 titleHistoSgnC=
"d_{0}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(p) [cm]; Entries";
5005 titleHistoSgnB=
"d_{0}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(p) [cm]; Entries";
5006 titleHistoSgnNoQ=
"d_{0}(p) vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; d_{0}(p) [cm]; Entries";
5007 TH2F* d0POfflineSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),11,binLimpTLc,1000,-1.,1.);
5008 TH2F* d0POfflineSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),11,binLimpTLc,1000,-1.,1.);
5009 TH2F* d0POfflineSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),11,binLimpTLc,1000,-1.,1.);
5011 nameHistoSgnC=
"histCosPAK0SOfflineSgnC";
5012 nameHistoSgnB=
"histCosPAK0SOfflineSgnB";
5013 nameHistoSgnNoQ=
"histCosPAK0SOfflineSgnNoQ";
5014 titleHistoSgnC=
"K^{0}_{S} cosine of pointing angle wrt primary vertex vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
5015 titleHistoSgnB=
"K^{0}_{S} cosine of pointing angle wrt primary vertex vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
5016 titleHistoSgnNoQ=
"K^{0}_{S} cosine of pointing angle wrt primary vertex vs p_{T}(#Lambda_{c}); p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
5017 TH2F *cosPAK0SOfflineSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),41,binLimpTprong,100,0.99,1.);
5018 TH2F *cosPAK0SOfflineSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),41,binLimpTprong,100,0.99,1.);
5019 TH2F *cosPAK0SOfflineSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),41,binLimpTprong,100,0.99,1.);
5021 nameHistoSgnC=
"histCosThetaProtonCMSOfflineSgnC";
5022 nameHistoSgnB=
"histCosThetaProtonCMSOfflineSgnB";
5023 nameHistoSgnNoQ=
"histCosThetaProtonCMSOfflineSgnNoQ";
5024 titleHistoSgnC=
"cosien of proton emission angle in Lc rest frame; p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
5025 titleHistoSgnB=
"cosien of proton emission angle in Lc rest frame; p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
5026 titleHistoSgnNoQ=
"cosien of proton emission angle in Lc rest frame; p_{T}(#Lambda_{c}) [GeV/c]; cosine; Entries";
5027 TH2F *cosThePrOfflineSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),41,binLimpTprong,100,-1.,1.);
5028 TH2F *cosThePrOfflineSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),41,binLimpTprong,100,-1.,1.);
5029 TH2F *cosThePrOfflineSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),41,binLimpTprong,100,-1.,1.);
5031 nameHistoSgnC=
"histResignedD0OfflineSgnC";
5032 nameHistoSgnB=
"histResignedD0OfflineSgnB";
5033 nameHistoSgnNoQ=
"histResignedD0OfflineSgnNoQ";
5034 titleHistoSgnC=
"Proton d0 with different sign convention; p_{T}(#Lambda_{c}) [GeV/c]; d0 [cm]; Entries";
5035 titleHistoSgnB=
"Proton d0 with different sign convention; p_{T}(#Lambda_{c}) [GeV/c]; d0 [cm]; Entries";
5036 titleHistoSgnNoQ=
"Proton d0 with different sign convention; p_{T}(#Lambda_{c}) [GeV/c]; d0 [cm]; Entries";
5037 TH2F *resignedD0OfflineSgnC =
new TH2F(nameHistoSgnC.Data(),titleHistoSgnC.Data(),41,binLimpTprong,100,-0.1,0.1);
5038 TH2F *resignedD0OfflineSgnB =
new TH2F(nameHistoSgnB.Data(),titleHistoSgnB.Data(),41,binLimpTprong,100,-0.1,0.1);
5039 TH2F *resignedD0OfflineSgnNoQ =
new TH2F(nameHistoSgnNoQ.Data(),titleHistoSgnNoQ.Data(),41,binLimpTprong,100,-0.1,0.1);
5041 TH2F* allptK0SOfflineSgnC = (
TH2F*)ptK0SOfflineSgnC->Clone();
5042 TH2F* allptK0SOfflineSgnB = (
TH2F*)ptK0SOfflineSgnB->Clone();
5043 TH2F* allptK0SOfflineSgnNoQ = (
TH2F*)ptK0SOfflineSgnNoQ->Clone();
5044 TH2F* allptPOfflineSgnC = (
TH2F*)ptPOfflineSgnC->Clone();
5045 TH2F* allptPOfflineSgnB = (
TH2F*)ptPOfflineSgnB->Clone();
5046 TH2F* allptPOfflineSgnNoQ = (
TH2F*)ptPOfflineSgnNoQ->Clone();
5047 TH2F* allptPiPOfflineSgnC = (
TH2F*)ptPiPOfflineSgnC->Clone();
5048 TH2F* allptPiPOfflineSgnB = (
TH2F*)ptPiPOfflineSgnB->Clone();
5049 TH2F* allptPiPOfflineSgnNoQ = (
TH2F*)ptPiPOfflineSgnNoQ->Clone();
5050 TH2F* allptPiMOfflineSgnC = (
TH2F*)ptPiMOfflineSgnC->Clone();
5051 TH2F* allptPiMOfflineSgnB = (
TH2F*)ptPiMOfflineSgnB->Clone();
5052 TH2F* allptPiMOfflineSgnNoQ = (
TH2F*)ptPiMOfflineSgnNoQ->Clone();
5053 TH2F* alld0K0SOfflineSgnC = (
TH2F*)d0K0SOfflineSgnC->Clone();
5054 TH2F* alld0K0SOfflineSgnB = (
TH2F*)d0K0SOfflineSgnB->Clone();
5055 TH2F* alld0K0SOfflineSgnNoQ = (
TH2F*)d0K0SOfflineSgnNoQ->Clone();
5056 TH2F* alld0POfflineSgnC = (
TH2F*)d0POfflineSgnC->Clone();
5057 TH2F* alld0POfflineSgnB = (
TH2F*)d0POfflineSgnB->Clone();
5058 TH2F* alld0POfflineSgnNoQ = (
TH2F*)d0POfflineSgnNoQ->Clone();
5059 TH2F* allcosPAK0SOfflineSgnC = (
TH2F*)cosPAK0SOfflineSgnC->Clone();
5060 TH2F* allcosPAK0SOfflineSgnB = (
TH2F*)cosPAK0SOfflineSgnB->Clone();
5061 TH2F* allcosPAK0SOfflineSgnNoQ = (
TH2F*)cosPAK0SOfflineSgnNoQ->Clone();
5062 TH2F* allcosThePrOfflineSgnC = (
TH2F*)cosThePrOfflineSgnC->Clone();
5063 TH2F* allcosThePrOfflineSgnB = (
TH2F*)cosThePrOfflineSgnB->Clone();
5064 TH2F* allcosThePrOfflineSgnNoQ = (
TH2F*)cosThePrOfflineSgnNoQ->Clone();
5065 TH2F* allresignedD0OfflineSgnC = (
TH2F*)resignedD0OfflineSgnC->Clone();
5066 TH2F* allresignedD0OfflineSgnB = (
TH2F*)resignedD0OfflineSgnB->Clone();
5067 TH2F* allresignedD0OfflineSgnNoQ = (
TH2F*)resignedD0OfflineSgnNoQ->Clone();
5069 TH2F* pidptK0SOfflineSgnC = (
TH2F*)ptK0SOfflineSgnC->Clone();
5070 TH2F* pidptK0SOfflineSgnB = (
TH2F*)ptK0SOfflineSgnB->Clone();
5071 TH2F* pidptK0SOfflineSgnNoQ = (
TH2F*)ptK0SOfflineSgnNoQ->Clone();
5072 TH2F* pidptPOfflineSgnC = (
TH2F*)ptPOfflineSgnC->Clone();
5073 TH2F* pidptPOfflineSgnB = (
TH2F*)ptPOfflineSgnB->Clone();
5074 TH2F* pidptPOfflineSgnNoQ = (
TH2F*)ptPOfflineSgnNoQ->Clone();
5075 TH2F* pidptPiPOfflineSgnC = (
TH2F*)ptPiPOfflineSgnC->Clone();
5076 TH2F* pidptPiPOfflineSgnB = (
TH2F*)ptPiPOfflineSgnB->Clone();
5077 TH2F* pidptPiPOfflineSgnNoQ = (
TH2F*)ptPiPOfflineSgnNoQ->Clone();
5078 TH2F* pidptPiMOfflineSgnC = (
TH2F*)ptPiMOfflineSgnC->Clone();
5079 TH2F* pidptPiMOfflineSgnB = (
TH2F*)ptPiMOfflineSgnB->Clone();
5080 TH2F* pidptPiMOfflineSgnNoQ = (
TH2F*)ptPiMOfflineSgnNoQ->Clone();
5081 TH2F* pidd0K0SOfflineSgnC = (
TH2F*)d0K0SOfflineSgnC->Clone();
5082 TH2F* pidd0K0SOfflineSgnB = (
TH2F*)d0K0SOfflineSgnB->Clone();
5083 TH2F* pidd0K0SOfflineSgnNoQ = (
TH2F*)d0K0SOfflineSgnNoQ->Clone();
5084 TH2F* pidd0POfflineSgnC = (
TH2F*)d0POfflineSgnC->Clone();
5085 TH2F* pidd0POfflineSgnB = (
TH2F*)d0POfflineSgnB->Clone();
5086 TH2F* pidd0POfflineSgnNoQ = (
TH2F*)d0POfflineSgnNoQ->Clone();
5087 TH2F* pidcosPAK0SOfflineSgnC = (
TH2F*)cosPAK0SOfflineSgnC->Clone();
5088 TH2F* pidcosPAK0SOfflineSgnB = (
TH2F*)cosPAK0SOfflineSgnB->Clone();
5089 TH2F* pidcosPAK0SOfflineSgnNoQ = (
TH2F*)cosPAK0SOfflineSgnNoQ->Clone();
5090 TH2F* pidcosThePrOfflineSgnC = (
TH2F*)cosThePrOfflineSgnC->Clone();
5091 TH2F* pidcosThePrOfflineSgnB = (
TH2F*)cosThePrOfflineSgnB->Clone();
5092 TH2F* pidcosThePrOfflineSgnNoQ = (
TH2F*)cosThePrOfflineSgnNoQ->Clone();
5093 TH2F* pidresignedD0OfflineSgnC = (
TH2F*)resignedD0OfflineSgnC->Clone();
5094 TH2F* pidresignedD0OfflineSgnB = (
TH2F*)resignedD0OfflineSgnB->Clone();
5095 TH2F* pidresignedD0OfflineSgnNoQ = (
TH2F*)resignedD0OfflineSgnNoQ->Clone();
Double_t NormalizedDecayLengthXY() const
Double_t NormalizedDecayLength() const
Float_t fBzkG
primary vertex
void FillTheTree(AliAODRecoCascadeHF *part, AliRDHFCutsLctoV0 *cutsAnal, TClonesArray *mcArray, Int_t isLc, Int_t originLc)