fh1MCMultiplicityTracks = new TH1F("h1MCMultiplicityTracks", "MC Tracks;Ntracks;Count", 201, -0.5, 200.5);
// fh1MCmotherK0s = new TH1F("fh1MCmotherK0s","K0s mother pdg codes",10,0.,10.);
fh1MCmotherLa = new TH1F("fh1MCmotherLa","Lambdas mother pdg codes",10,0.,10.);
- fh1MCmotherLa->GetXaxis()->SetBinLabel(1.,"#Sigma^{-}");
- fh1MCmotherLa->GetXaxis()->SetBinLabel(2.,"#Sigma^{0}");
- fh1MCmotherLa->GetXaxis()->SetBinLabel(3.,"#Sigma^{+}");
- fh1MCmotherLa->GetXaxis()->SetBinLabel(4.,"#Omega^{-}");
- fh1MCmotherLa->GetXaxis()->SetBinLabel(5.,"#Xi^{0}");
- fh1MCmotherLa->GetXaxis()->SetBinLabel(6.,"#Xi^{-}");
- fh1MCmotherLa->GetXaxis()->SetBinLabel(7.,"#Xi^{+}");
- fh1MCmotherLa->GetXaxis()->SetBinLabel(8.,"primary particle");
+ fh1MCmotherLa->GetXaxis()->SetBinLabel(1,"#Sigma^{-}");
+ fh1MCmotherLa->GetXaxis()->SetBinLabel(2,"#Sigma^{0}");
+ fh1MCmotherLa->GetXaxis()->SetBinLabel(3,"#Sigma^{+}");
+ fh1MCmotherLa->GetXaxis()->SetBinLabel(4,"#Omega^{-}");
+ fh1MCmotherLa->GetXaxis()->SetBinLabel(5,"#Xi^{0}");
+ fh1MCmotherLa->GetXaxis()->SetBinLabel(6,"#Xi^{-}");
+ fh1MCmotherLa->GetXaxis()->SetBinLabel(7,"#Xi^{+}");
+ fh1MCmotherLa->GetXaxis()->SetBinLabel(8,"primary particle");
fh1MCmotherALa = new TH1F("fh1MCmotherALa","Antilambdas mother pdg codes",10,0.,10.);
- fh1MCmotherALa->GetXaxis()->SetBinLabel(1.,"#bar{#Sigma^{-}}");
- fh1MCmotherALa->GetXaxis()->SetBinLabel(2.,"#bar{#Sigma^{0}}");
- fh1MCmotherALa->GetXaxis()->SetBinLabel(3.,"#bar{#Sigma^{+}}");
- fh1MCmotherALa->GetXaxis()->SetBinLabel(4.,"#bar{#Omega^{-}}");
- fh1MCmotherALa->GetXaxis()->SetBinLabel(5.,"#bar{#Xi^{0}}");
- fh1MCmotherALa->GetXaxis()->SetBinLabel(6.,"#Xi^{-}");
- fh1MCmotherALa->GetXaxis()->SetBinLabel(7.,"#Xi^{+}");
- fh1MCmotherALa->GetXaxis()->SetBinLabel(8.,"primary particle");
+ fh1MCmotherALa->GetXaxis()->SetBinLabel(1,"#bar{#Sigma^{-}}");
+ fh1MCmotherALa->GetXaxis()->SetBinLabel(2,"#bar{#Sigma^{0}}");
+ fh1MCmotherALa->GetXaxis()->SetBinLabel(3,"#bar{#Sigma^{+}}");
+ fh1MCmotherALa->GetXaxis()->SetBinLabel(4,"#bar{#Omega^{-}}");
+ fh1MCmotherALa->GetXaxis()->SetBinLabel(5,"#bar{#Xi^{0}}");
+ fh1MCmotherALa->GetXaxis()->SetBinLabel(6,"#Xi^{-}");
+ fh1MCmotherALa->GetXaxis()->SetBinLabel(7,"#Xi^{+}");
+ fh1MCmotherALa->GetXaxis()->SetBinLabel(8,"primary particle");
fh3FeedDownLa = new TH3F("fh3FeedDownLa","#Lambda stemming from feeddown from Xi(0/-)", 39, 5., 200., 200, 1.05, 1.25, 200,0.,20.);
fh3FeedDownALa = new TH3F("fh3FeedDownALa","#bar#Lambda stemming from feeddown from Xibar(0/+)", 39, 5., 200., 200, 1.05, 1.25, 200, 0., 20.);
fh1MCProdRadiusK0s = new TH1F("fh1MCProdRadiusK0s","MC gen. MC K0s prod radius",600,0.,200.);
}
Double_t centPercent = -1;
+ Int_t cl = 0;
if(fEventClass>0){
- Int_t cl = 0;
if(handler && handler->InheritsFrom("AliAODInputHandler")){
centPercent = fAOD->GetHeader()->GetCentrality();
if(fAnalysisMC){
Double_t jetPtSmear = -1;
- SmearJetPt(jetPt,centPercent,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
+ SmearJetPt(jetPt,cl,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
if(incrementJetPt == kTRUE){fh1FFIMK0ConeSmear->Fill(jetPtSmear);} //fill TH1F for normalization purposes
}
fFFHistosIMK0Cone->FillFF(-1, -1, jetPt, incrementJetPt);
if(fAnalysisMC){
Double_t jetPtSmear = -1;
- SmearJetPt(jetPt,centPercent,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
+ SmearJetPt(jetPt,cl,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
if(incrementJetPt == kTRUE){fh1FFIMK0ConeSmear->Fill(jetPtSmear);} //fill TH1F for normalization purposes
}
}
fh3MCrecK0Cone->Fill(jetPt,invMK0Match,fPtMCgenK0s); //fill matching rec. K0s in 3D histogram
- SmearJetPt(jetPt,centPercent,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear); //jetPt, cent, jetRadius, ptmintrack, &jetPtSmear
+ SmearJetPt(jetPt,cl,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear); //jetPt, cent, jetRadius, ptmintrack, &jetPtSmear
fh3MCrecK0ConeSmear->Fill(jetPtSmear,invMK0Match,fPtMCgenK0s); //fill matching rec. K0s in 3D histogram, jet pT smeared according to deltaptjet distribution width
if(fAnalysisMC){
Double_t jetPtSmear = -1;
- SmearJetPt(jetPt,centPercent,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
+ SmearJetPt(jetPt,cl,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
if(incrementJetPt == kTRUE){fh1FFIMLaConeSmear->Fill(jetPtSmear);} //fill TH1F for normalization purposes
}
if(fAnalysisMC){
Double_t jetPtSmear;
- SmearJetPt(jetPt,centPercent,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
+ SmearJetPt(jetPt,cl,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
if(incrementJetPt == kTRUE)fh1FFIMLaConeSmear->Fill(jetPtSmear);}
}
fh3MCrecLaCone->Fill(jetPt,invMLaMatch,fPtMCgenLa); //fill matching rec. K0s 3D histogram
- SmearJetPt(jetPt,centPercent,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
+ SmearJetPt(jetPt,cl,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
fh3MCrecLaConeSmear->Fill(jetPtSmear,invMLaMatch,fPtMCgenLa); //fill matching rec. Lambdas in 3D histogram, jet pT smeared according to deltaptjet distribution width
if(fAnalysisMC){ //jet pt smearing study for Antilambdas
Double_t jetPtSmear = -1;
- SmearJetPt(jetPt,centPercent,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
+ SmearJetPt(jetPt,cl,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
if(incrementJetPt == kTRUE){fh1FFIMALaConeSmear->Fill(jetPtSmear);} //fill TH1F for normalization purposes
}
if(fAnalysisMC){
Double_t jetPtSmear;
- SmearJetPt(jetPt,centPercent,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
+ SmearJetPt(jetPt,cl,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
if(incrementJetPt == kTRUE)fh1FFIMALaConeSmear->Fill(jetPtSmear);}
}
fh3MCrecALaCone->Fill(jetPt,invMALaMatch,fPtMCgenALa); //fill matching rec. K0s 3D histogram
- SmearJetPt(jetPt,centPercent,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
+ SmearJetPt(jetPt,cl,GetFFRadius(),GetFFMinLTrackPt(),jetPtSmear);
fh3MCrecALaConeSmear->Fill(jetPtSmear,invMALaMatch,fPtMCgenALa);
}
//_________________________________________________________________________________________________________________________________________
-Double_t AliAnalysisTaskJetChem::SmearJetPt(Double_t jetPt, Int_t cent, Double_t jetRadius, Double_t ptmintrack, Double_t& jetPtSmear){
+Double_t AliAnalysisTaskJetChem::SmearJetPt(Double_t jetPt, Int_t /*cent*/, Double_t /*jetRadius*/, Double_t /*ptmintrack*/, Double_t& jetPtSmear){
- TF1 *fsmear = new TF1("f1","[0]*exp(-1*(x-[1])*(x-[1])/(2*[2]*[2]))",-100.,100.); //smearing according to gaussian function in between +/- 10 GeV/c
+ static TF1 fsmear("f1","[0]*exp(-1*(x-[1])*(x-[1])/(2*[2]*[2]))",-100.,100.); //smearing according to gaussian function in between +/- 10 GeV/c
- jetRadius = 0.4;
- ptmintrack = 0.15;
- cent = 10;
//Int_t cl = 1;
/* if(cent>10) cl = 2;
if(cent>50) cl = 4;
*/
- fsmear->SetParameters(1,0,11.19);//for 2010 PbPb jets, R=0.4, ptmintrack = 0.15 GeV/c, cent 00-10%, delta-pt width estimated via single track embedding
+ fsmear.SetParameters(1,0,11.19);//for 2010 PbPb jets, R=0.4, ptmintrack = 0.15 GeV/c, cent 00-10%, delta-pt width estimated via single track embedding
//fsmear->SetParameters(1,0,3.28);//for 2010 PbPb jets, R=0.4, ptmintrack = 0.15 GeV/c, cent 50-60%, delta-pt width estimated via single track embedding
//fsmear->SetParameters(1,0,4.472208);// for 2010 PbPb jets, R=0.2, ptmintrack = 0.15 GeV/c, cent 00-10%
*/
- Double_t r = fsmear->GetRandom();
+ Double_t r = fsmear.GetRandom();
jetPtSmear = jetPt + r;
// std::cout<<"jetPt: "<<jetPt<<std::endl;
// std::cout<<"jetPtSmear: "<<jetPtSmear<<std::endl;
// std::cout<<"r: "<<r<<std::endl;
- delete fsmear;
return jetPtSmear;
}
static void SetProperties(TH3F* h,const char* x, const char* y,const char* z);
- Bool_t IsAccepteddEdx(const Double_t mom,const Double_t signal, AliPID::EParticleType n, const Double_t cutnSig) const;//not used anymore
- Bool_t IsK0InvMass(const Double_t mass) const;
- Int_t GetListOfV0s(TList *list, const Int_t type, Int_t particletype, AliAODVertex* primVertex, AliAODEvent* aod);
- Int_t GetListOfParticles(TList *list, const Int_t type, Int_t particletype, AliAODVertex* primVertex);
- Int_t GetListOfMCParticles(TList *outputlist, const Int_t particletype, AliAODEvent* mcaodevent);
- void GetTracksInCone(TList* inputlist, TList* outputlist, const AliAODJet* jet, const Double_t radius, Double_t& sumPt, const Double_t minPt, const Double_t maxPt, Bool_t& isBadPt);
- void GetTracksInPerpCone(TList* inputlist, TList* outputlist, const AliAODJet* jet, const Double_t radius, Double_t& sumPerpPt);
- Bool_t MCLabelCheck(AliAODv0* v0, const Int_t particletype, const AliAODTrack* trackNeg, const AliAODTrack* trackPos, TList *listmc, Int_t& negDaughterpdg, Int_t& posDaughterpdg, Int_t& motherType, Int_t& v0Label, Double_t& MCPt, Bool_t& fPhysicalPrimary, Int_t& MCv0PDGCode);
- Bool_t IsParticleMatching(const AliAODMCParticle* mcp0, const Int_t v0Label);
+ Bool_t IsAccepteddEdx(Double_t mom, Double_t signal, AliPID::EParticleType n, Double_t cutnSig) const;//not used anymore
+ Bool_t IsK0InvMass(Double_t mass) const;
+ Int_t GetListOfV0s(TList *list, Int_t type, Int_t particletype, AliAODVertex* primVertex, AliAODEvent* aod);
+ Int_t GetListOfParticles(TList *list, Int_t type, Int_t particletype, AliAODVertex* primVertex);
+ Int_t GetListOfMCParticles(TList *outputlist, Int_t particletype, AliAODEvent* mcaodevent);
+ void GetTracksInCone(TList* inputlist, TList* outputlist, const AliAODJet* jet, Double_t radius, Double_t& sumPt, Double_t minPt, Double_t maxPt, Bool_t& isBadPt);
+ void GetTracksInPerpCone(TList* inputlist, TList* outputlist, const AliAODJet* jet, Double_t radius, Double_t& sumPerpPt);
+ Bool_t MCLabelCheck(AliAODv0* v0, Int_t particletype, const AliAODTrack* trackNeg, const AliAODTrack* trackPos, TList *listmc, Int_t& negDaughterpdg, Int_t& posDaughterpdg, Int_t& motherType, Int_t& v0Label, Double_t& MCPt, Bool_t& fPhysicalPrimary, Int_t& MCv0PDGCode);
+ Bool_t IsParticleMatching(const AliAODMCParticle* mcp0, Int_t v0Label);
Bool_t DaughterTrackCheck(AliAODv0* v0, Int_t& nnum, Int_t& pnum);
Int_t IsTrackInjected(AliAODv0 *v0, AliAODMCHeader *header, TClonesArray *arrayMC);
TString GetGenerator(Int_t label, AliAODMCHeader* header);
virtual void SetK0Type(Int_t i){ fK0Type = i; }
virtual void SetFilterMaskK0(UInt_t i) {fFilterMaskK0 = i;}
- Bool_t IsLaInvMass(const Double_t mass) const; //La and ALa mass check
+ Bool_t IsLaInvMass(Double_t mass) const; //La and ALa mass check
virtual void SetLaType(Int_t i){ fLaType = i; }
virtual void SetFilterMaskLa(UInt_t i) {fFilterMaskLa = i;}
//virtual void SetEventSelectionMask(UInt_t i){fEvtSelectionMask = i;} //already inherited by AliAnalysisFragmentationFunctionTask
//virtual void UsePhysicsSelection(Bool_t b) {fUsePhysicsSelection = b;} //already inherited by AliAnalysisFragmentationFunctionTask
- void CalculateInvMass(AliAODv0* v0vtx, const Int_t particletype, Double_t& invM, Double_t& trackPt);
+ void CalculateInvMass(AliAODv0* v0vtx, Int_t particletype, Double_t& invM, Double_t& trackPt);
- Bool_t AcceptBetheBloch(AliAODv0 *v0, AliPIDResponse *PIDResponse, const Int_t particletype); //don't use this method for MC Analysis
+ Bool_t AcceptBetheBloch(AliAODv0 *v0, AliPIDResponse *PIDResponse, Int_t particletype); //don't use this method for MC Analysis
Double_t MyRapidity(Double_t rE, Double_t rPz) const;