class AliAnalysisDataContainer;
-AliAnalysisTask *AddTaskNucleiv2SP(TString name="name"){
+AliAnalysisTask *AddTaskNucleiv2SP(TString name="name",Int_t ptc =1){
//get the current analysis manager
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
}
//========= Add task to the ANALYSIS manager =====
-
- AliAnalysisTaskNucleiv2SP *task = new AliAnalysisTaskNucleiv2SP(name);
-
+ AliAnalysisTaskNucleiv2SP *task = new AliAnalysisTaskNucleiv2SP(name,ptc);
+
//================================================
// data containers
//================================================
AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clisthist", TList::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
- // connect containers
+ // connect containers
mgr->ConnectInput (task, 0, cinput );
mgr->ConnectOutput (task, 1, coutput1);
//________________________________________________________________________
AliAnalysisTaskNucleiv2SP::AliAnalysisTaskNucleiv2SP()
: AliAnalysisTaskSE(),
+ fptc(0),
fListHist(0),
fHistEventMultiplicity(0),
fHistTrackMultiplicity(0),
fESDtrackCuts = new AliESDtrackCuts("AliESDtrackCuts","AliESDtrackCuts");
//
Initialize();
+ fptc = 3;
}
//________________________________________________________________________
-AliAnalysisTaskNucleiv2SP::AliAnalysisTaskNucleiv2SP(const char *name)
+AliAnalysisTaskNucleiv2SP::AliAnalysisTaskNucleiv2SP(const char *name, Int_t ptc)
: AliAnalysisTaskSE(name),
+ fptc(0),
fListHist(0),
fHistEventMultiplicity(0),
fHistTrackMultiplicity(0),
//
Initialize();
+ fptc = ptc;
DefineInput(0, TChain::Class());
DefineOutput(1, TList::Class());
fESDtrackCuts->SetEtaRange(-0.8,0.8);
fESDtrackCutsEP = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
- // Printf("Initizialize\n");
-
+
}
//________________________________________________________________________
Float_t AliAnalysisTaskNucleiv2SP::GetEventPlaneForCandidate(AliESDtrack* track0, const TVector2* q,AliEventplane *pl){
-
+
// remove autocorrelations
TArrayF* qx = 0x0;
void AliAnalysisTaskNucleiv2SP::UserCreateOutputObjects()
{
-
//-------------------------------------------------------
fListHist = new TList();
fListHist->SetOwner(); // IMPORTANT!
ULong_t status=0;
Bool_t isTPC=kFALSE;
-
+ Double_t massC = -999;
+ Double_t ptMax = -999;
+
+ if(fptc == 1){
+ massC = 1.8756;
+ ptMax = 6;
+ }
+ if(fptc == 2){
+ massC = 2.80894;
+ ptMax = 6;
+ }
+ if(fptc == 3){
+ massC = 2.80892;
+ ptMax = 10;
+ }
+
+ // if(fptc != 1 ||fptc != 2 ||fptc != 3){
+ // cout<<"This analyis works only for d(1), t(2) or 3He(3)"<<endl;
+ // return;
+ // }
+
// Primary vertex cut
const AliESDVertex *vtx = lESDevent->GetPrimaryVertexTracks();
Int_t isTOF=0;
// Int_t isoutTPC=0;
- Float_t deutExp = -999;
+ Float_t ptcExp = -999;
Double_t pullTPC = -999;
Float_t deltaphiTPC = -3;
Float_t deltaphiV0 = -3;
esdtrack->GetImpactParameters(impactXY, impactZ);
- deutExp = -999;
- deutExp = AliExternalTrackParam::BetheBlochAleph(pinTPC/(0.938*2),1.45802,27.4992,4.00313e-15,2.48485,8.31768);
-
- pullTPC = (TPCSignal - deutExp)/(0.07*deutExp);
-
+ ptcExp = -999;
+ if(fptc==1)
+ ptcExp = AliExternalTrackParam::BetheBlochAleph(pinTPC/(0.938*2),1.45802,27.4992,4.00313e-15,2.48485,8.31768);
+ if(fptc==2)
+ ptcExp = AliExternalTrackParam::BetheBlochAleph(pinTPC/(0.938*3),1.45802,27.4992,4.00313e-15,2.48485,8.31768);
+ if(fptc==3)
+ ptcExp = 4*AliExternalTrackParam::BetheBlochAleph(2*pinTPC/(0.938*3),1.74962,27.4992,4.00313e-15,2.42485,8.31768);
+ pullTPC = (TPCSignal - ptcExp)/(0.07*ptcExp);
+
Double_t p = esdtrack->P();
Double_t tof = esdtrack->GetTOFsignal()-fPIDResponse->GetTOFResponse().GetStartTime(p);
Double_t tPhi = esdtrack->Phi();
Float_t deltaMass = 0;
- if(TMath::Abs(pinTPC) < 6 && TMath::Abs(pullTPC) < 3){
+ if(TMath::Abs(esdtrack->Pt()) < ptMax && TMath::Abs(pullTPC) < 3){
fhBBDeu->Fill(pinTPC*esdtrack->GetSign(),TPCSignal);
if(tof > 0 && pinTPC > 1.){
beta = esdtrack->GetIntegratedLength()/(tof * 2.99792457999999984e-02);
gamma = 1/TMath::Sqrt(1 - beta*beta);
- deltaMass = poutTPC/TMath::Sqrt(gamma*gamma - 1) - 1.8756;
+ deltaMass = poutTPC/TMath::Sqrt(gamma*gamma - 1) - massC;
fhMassTOF->Fill(deltaMass);
}
public:
AliAnalysisTaskNucleiv2SP();
- AliAnalysisTaskNucleiv2SP(const char *name);
+ AliAnalysisTaskNucleiv2SP(const char *name, Int_t ptc); //select ptc 1 = d; 2 = t ; 3 = 3He
virtual ~AliAnalysisTaskNucleiv2SP() {}
virtual void UserCreateOutputObjects();
virtual void Initialize();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
-
+
Float_t GetEventPlaneForCandidate(AliESDtrack* track0, const TVector2* q,AliEventplane *pl);
Float_t GetPhi0Pi(Float_t phi);
private:
-
+ Double_t fptc;
+
TList *fListHist; //! List of histograms
TH1F *fHistEventMultiplicity; //! event multiplicity