#include "AliAODEvent.h"
#include "AliPID.h"
#include "AliAODTrack.h"
-#include "AliPIDResponse.h"
-#include "AliTPCPIDResponse.h"
#include "AliRDHFCutsLctoV0.h"
#include "AliNormalizationCounter.h"
class TH1F;
+class TClonesArray;
+class AliAODRecoCascade;
class AliAnalysisTaskSELc2V0bachelor : public AliAnalysisTaskSE
{
AliAnalysisTaskSELc2V0bachelor();
AliAnalysisTaskSELc2V0bachelor(const Char_t* name, AliRDHFCutsLctoV0* cuts,
- Bool_t useOnTheFly=kFALSE, Bool_t writeVariableTree=kTRUE, Bool_t additionalChecks=kFALSE);
+ Bool_t useOnTheFly=kFALSE, Bool_t writeVariableTree=kTRUE, Bool_t additionalChecks=kFALSE, Bool_t trackRotation=kFALSE);
virtual ~AliAnalysisTaskSELc2V0bachelor();
// Implementation of interface methods
void SetAdditionalChecks(Bool_t additionalChecks) {fAdditionalChecks = additionalChecks;}
Bool_t GetAdditionalChecks() const {return fAdditionalChecks;}
- void FillArmPodDistribution(AliAODv0 *vZero, TString histoTitle, TList *histoList);
+ void FillArmPodDistribution(AliAODRecoDecay *vZero,TString histoTitle, Bool_t isCandidateSelectedCuts, Bool_t isBachelorID);
void SetK0SAnalysis(Bool_t a) {fIsK0SAnalysis=a;}
Bool_t GetK0SAnalysis() const {return fIsK0SAnalysis;}
void SetUseOnTheFlyV0(Bool_t a) { fUseOnTheFlyV0=a; }
Bool_t GetUseOnTheFlyV0() { return fUseOnTheFlyV0; }
+ Int_t MatchToMClabelC(AliAODRecoCascadeHF *candidate,TClonesArray *mcArray);
+
+
+ void SetNRotations(Int_t nRot=9) { fNRotations=nRot; }
+ Int_t GetNRotations() { return fNRotations; }
+
+ void SetPtMinToFillTheTree(Double_t pTmin= 0.) { fPtMinToFillTheTree=pTmin; }
+ void SetPtMaxToFillTheTree(Double_t pTmax=999.) { fPtMaxToFillTheTree=pTmax; }
+ Double_t GetPtMinToFillTheTree() { return fPtMinToFillTheTree; }
+ Double_t GetPtMaxToFillTheTree() { return fPtMaxToFillTheTree; }
+
+ void SetMinAngleForRot(Double_t min=5.*TMath::Pi()/6.) { fMinAngleForRot=min; }
+ void SetMaxAngleForRot(Double_t max=7.*TMath::Pi()/6.) { fMaxAngleForRot=max; }
+ Double_t GetMinAngleForRot() { return fMinAngleForRot; }
+ Double_t GetMaxAngleForRot() { return fMaxAngleForRot; }
+
private:
void CheckEventSelection(AliAODEvent *aodEvent);
void DefineGeneralHistograms();
void DefineAnalysisHistograms();
void DefineK0SHistos();
- void FillAnalysisHistograms(AliAODRecoCascadeHF *part, Bool_t isBachelorID, TString appendthis);
+ void FillAnalysisHistograms(AliAODRecoCascadeHF *part, AliRDHFCutsLctoV0 *cutsAnal, TString appendthis);
+ void TrackRotation(AliRDHFCutsLctoV0 *cutsAnal, AliAODRecoCascadeHF *part, TString appendthis);
AliAnalysisTaskSELc2V0bachelor(const AliAnalysisTaskSELc2V0bachelor &source);
AliAnalysisTaskSELc2V0bachelor& operator=(const AliAnalysisTaskSELc2V0bachelor& source);
Double_t GetAlpha(Double_t xyz[3],Double_t pxpypz[3]);
+ Int_t SearchForCommonMother(TClonesArray *mcArray,
+ Int_t dgLabels[10],Int_t ndg,
+ Int_t &ndgCk, Int_t *pdgDg, Int_t &labelMother, Int_t &nDauCand) const;
+
Bool_t fUseMCInfo; // Use MC info
TList *fOutput; // User output slot 1 // general histos
TList *fOutputAll; // User output slot 4 // histos without pid and cut on V0
TList *fOutputPIDBach; // User output slot 5 // histos with PID on Bachelor
TH1F *fCEvents; // Histogram to check selected events
- AliPIDResponse *fPIDResponse; //! PID response object
Bool_t fIsK0SAnalysis; // switch between Lpi and K0Sp
AliNormalizationCounter *fCounter; // AliNormalizationCounter on output slot 2
AliRDHFCutsLctoV0 *fAnalCuts; // Cuts - sent to output slot 3
Float_t fBzkG; // magnetic field value [kG]
Bool_t fAdditionalChecks; // flag to fill additional histograms
- ClassDef(AliAnalysisTaskSELc2V0bachelor,4); // class for Lc->p K0
+ Bool_t fTrackRotation; // flag to check track rotation
+ TList *fOutputPIDBachTR; // User output slot 6 // histos with PID on Bachelor and track rotation
+
+ Double_t fMinAngleForRot;//=5*TMath::Pi()/6;
+ Double_t fMaxAngleForRot;//=7*TMath::Pi()/6;
+ Double_t fMinMass;//=mLcPDG-0.250;
+ Double_t fMaxMass;//=mLcPDG+0.250;
+ Int_t fNRotations;//=9;
+ Double_t fPtMinToFillTheTree;//0.
+ Double_t fPtMaxToFillTheTree;//999.
+
+ ClassDef(AliAnalysisTaskSELc2V0bachelor,7); // class for Lc->p K0
};
#endif