#ifndef ALIANALYSISTASKSELC2V0BACHELOR_H
#define ALIANALYSISTASKSELC2V0BACHELOR_H
#include "TROOT.h"
#include "TSystem.h"
#include "AliAnalysisTaskSE.h"
#include "AliAODEvent.h"
#include "AliPID.h"
#include "AliAODTrack.h"
#include "AliRDHFCutsLctoV0.h"
#include "AliNormalizationCounter.h"
class TH1F;
class TClonesArray;
class AliAODRecoCascade;
class AliAnalysisTaskSELc2V0bachelor : public AliAnalysisTaskSE
{
public:
AliAnalysisTaskSELc2V0bachelor();
AliAnalysisTaskSELc2V0bachelor(const Char_t* name, AliRDHFCutsLctoV0* cuts,
Bool_t useOnTheFly=kFALSE, Bool_t writeVariableTree=kTRUE, Bool_t additionalChecks=kFALSE, Bool_t trackRotation=kFALSE);
virtual ~AliAnalysisTaskSELc2V0bachelor();
virtual void UserCreateOutputObjects();
virtual void Init();
virtual void LocalInit() {Init();}
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *option);
void FillLc2pK0Sspectrum(AliAODRecoCascadeHF *part, Int_t isLc,
Int_t &nSelectedAnal, AliRDHFCutsLctoV0 *cutsAnal,
TClonesArray *mcArray);
void MakeAnalysisForLc2prK0S(TClonesArray *arrayLctopK0S,
TClonesArray *mcArray,
Int_t &nSelectedAnal, AliRDHFCutsLctoV0 *cutsAnal);
void SetMC(Bool_t theMCon) {fUseMCInfo = theMCon;}
Bool_t GetMC() const {return fUseMCInfo;}
void SetAdditionalChecks(Bool_t additionalChecks) {fAdditionalChecks = additionalChecks;}
Bool_t GetAdditionalChecks() const {return fAdditionalChecks;}
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 CheckEventSelectionWithCandidates(AliAODEvent *aodEvent);
void CheckCandidatesAtDifferentLevels(AliAODRecoCascadeHF *part,AliRDHFCutsLctoV0* cutsAnal);
void FillTheTree(AliAODRecoCascadeHF *part, AliRDHFCutsLctoV0 *cutsAnal, TClonesArray *mcArray, Int_t isLc);
void DefineTreeVariables();
Int_t MatchToMC(AliAODRecoCascadeHF *lc2bacV0,
Int_t *pdgDgLc2bacV0, Int_t *pdgDgV0,
TClonesArray *mcArray);
Int_t SearchLcDaughter(TClonesArray *arrayMC, Int_t iii);
void DefineGeneralHistograms();
void DefineAnalysisHistograms();
void DefineK0SHistos();
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 Det(Double_t a00,Double_t a01,
Double_t a10,Double_t a11) const;
Double_t Det(Double_t a00,Double_t a01,Double_t a02,
Double_t a10,Double_t a11,Double_t a12,
Double_t a20,Double_t a21,Double_t a22) const;
Double_t PropagateToDCA(AliAODv0 *v, AliAODTrack *bachelor, Double_t b,
Double_t &xVtxLc, Double_t &yVtxLc, Double_t &zVtxLc,
Double_t &pxVtxLc, Double_t &pyVtxLc, Double_t &pzVtxLc);
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;
TList *fOutput;
TList *fOutputAll;
TList *fOutputPIDBach;
TH1F *fCEvents;
Bool_t fIsK0SAnalysis;
AliNormalizationCounter *fCounter;
AliRDHFCutsLctoV0 *fAnalCuts;
Bool_t fUseOnTheFlyV0;
Bool_t fIsEventSelected;
Bool_t fWriteVariableTree;
TTree *fVariablesTree;
Float_t *fCandidateVariables;
AliAODVertex *fVtx1;
Float_t fBzkG;
Bool_t fAdditionalChecks;
Bool_t fTrackRotation;
TList *fOutputPIDBachTR;
Double_t fMinAngleForRot;
Double_t fMaxAngleForRot;
Double_t fMinMass;
Double_t fMaxMass;
Int_t fNRotations;
Double_t fPtMinToFillTheTree;
Double_t fPtMaxToFillTheTree;
ClassDef(AliAnalysisTaskSELc2V0bachelor,7);
};
#endif
AliAnalysisTaskSELc2V0bachelor.h:1 AliAnalysisTaskSELc2V0bachelor.h:2 AliAnalysisTaskSELc2V0bachelor.h:3 AliAnalysisTaskSELc2V0bachelor.h:4 AliAnalysisTaskSELc2V0bachelor.h:5 AliAnalysisTaskSELc2V0bachelor.h:6 AliAnalysisTaskSELc2V0bachelor.h:7 AliAnalysisTaskSELc2V0bachelor.h:8 AliAnalysisTaskSELc2V0bachelor.h:9 AliAnalysisTaskSELc2V0bachelor.h:10 AliAnalysisTaskSELc2V0bachelor.h:11 AliAnalysisTaskSELc2V0bachelor.h:12 AliAnalysisTaskSELc2V0bachelor.h:13 AliAnalysisTaskSELc2V0bachelor.h:14 AliAnalysisTaskSELc2V0bachelor.h:15 AliAnalysisTaskSELc2V0bachelor.h:16 AliAnalysisTaskSELc2V0bachelor.h:17 AliAnalysisTaskSELc2V0bachelor.h:18 AliAnalysisTaskSELc2V0bachelor.h:19 AliAnalysisTaskSELc2V0bachelor.h:20 AliAnalysisTaskSELc2V0bachelor.h:21 AliAnalysisTaskSELc2V0bachelor.h:22 AliAnalysisTaskSELc2V0bachelor.h:23 AliAnalysisTaskSELc2V0bachelor.h:24 AliAnalysisTaskSELc2V0bachelor.h:25 AliAnalysisTaskSELc2V0bachelor.h:26 AliAnalysisTaskSELc2V0bachelor.h:27 AliAnalysisTaskSELc2V0bachelor.h:28 AliAnalysisTaskSELc2V0bachelor.h:29 AliAnalysisTaskSELc2V0bachelor.h:30 AliAnalysisTaskSELc2V0bachelor.h:31 AliAnalysisTaskSELc2V0bachelor.h:32 AliAnalysisTaskSELc2V0bachelor.h:33 AliAnalysisTaskSELc2V0bachelor.h:34 AliAnalysisTaskSELc2V0bachelor.h:35 AliAnalysisTaskSELc2V0bachelor.h:36 AliAnalysisTaskSELc2V0bachelor.h:37 AliAnalysisTaskSELc2V0bachelor.h:38 AliAnalysisTaskSELc2V0bachelor.h:39 AliAnalysisTaskSELc2V0bachelor.h:40 AliAnalysisTaskSELc2V0bachelor.h:41 AliAnalysisTaskSELc2V0bachelor.h:42 AliAnalysisTaskSELc2V0bachelor.h:43 AliAnalysisTaskSELc2V0bachelor.h:44 AliAnalysisTaskSELc2V0bachelor.h:45 AliAnalysisTaskSELc2V0bachelor.h:46 AliAnalysisTaskSELc2V0bachelor.h:47 AliAnalysisTaskSELc2V0bachelor.h:48 AliAnalysisTaskSELc2V0bachelor.h:49 AliAnalysisTaskSELc2V0bachelor.h:50 AliAnalysisTaskSELc2V0bachelor.h:51 AliAnalysisTaskSELc2V0bachelor.h:52 AliAnalysisTaskSELc2V0bachelor.h:53 AliAnalysisTaskSELc2V0bachelor.h:54 AliAnalysisTaskSELc2V0bachelor.h:55 AliAnalysisTaskSELc2V0bachelor.h:56 AliAnalysisTaskSELc2V0bachelor.h:57 AliAnalysisTaskSELc2V0bachelor.h:58 AliAnalysisTaskSELc2V0bachelor.h:59 AliAnalysisTaskSELc2V0bachelor.h:60 AliAnalysisTaskSELc2V0bachelor.h:61 AliAnalysisTaskSELc2V0bachelor.h:62 AliAnalysisTaskSELc2V0bachelor.h:63 AliAnalysisTaskSELc2V0bachelor.h:64 AliAnalysisTaskSELc2V0bachelor.h:65 AliAnalysisTaskSELc2V0bachelor.h:66 AliAnalysisTaskSELc2V0bachelor.h:67 AliAnalysisTaskSELc2V0bachelor.h:68 AliAnalysisTaskSELc2V0bachelor.h:69 AliAnalysisTaskSELc2V0bachelor.h:70 AliAnalysisTaskSELc2V0bachelor.h:71 AliAnalysisTaskSELc2V0bachelor.h:72 AliAnalysisTaskSELc2V0bachelor.h:73 AliAnalysisTaskSELc2V0bachelor.h:74 AliAnalysisTaskSELc2V0bachelor.h:75 AliAnalysisTaskSELc2V0bachelor.h:76 AliAnalysisTaskSELc2V0bachelor.h:77 AliAnalysisTaskSELc2V0bachelor.h:78 AliAnalysisTaskSELc2V0bachelor.h:79 AliAnalysisTaskSELc2V0bachelor.h:80 AliAnalysisTaskSELc2V0bachelor.h:81 AliAnalysisTaskSELc2V0bachelor.h:82 AliAnalysisTaskSELc2V0bachelor.h:83 AliAnalysisTaskSELc2V0bachelor.h:84 AliAnalysisTaskSELc2V0bachelor.h:85 AliAnalysisTaskSELc2V0bachelor.h:86 AliAnalysisTaskSELc2V0bachelor.h:87 AliAnalysisTaskSELc2V0bachelor.h:88 AliAnalysisTaskSELc2V0bachelor.h:89 AliAnalysisTaskSELc2V0bachelor.h:90 AliAnalysisTaskSELc2V0bachelor.h:91 AliAnalysisTaskSELc2V0bachelor.h:92 AliAnalysisTaskSELc2V0bachelor.h:93 AliAnalysisTaskSELc2V0bachelor.h:94 AliAnalysisTaskSELc2V0bachelor.h:95 AliAnalysisTaskSELc2V0bachelor.h:96 AliAnalysisTaskSELc2V0bachelor.h:97 AliAnalysisTaskSELc2V0bachelor.h:98 AliAnalysisTaskSELc2V0bachelor.h:99 AliAnalysisTaskSELc2V0bachelor.h:100 AliAnalysisTaskSELc2V0bachelor.h:101 AliAnalysisTaskSELc2V0bachelor.h:102 AliAnalysisTaskSELc2V0bachelor.h:103 AliAnalysisTaskSELc2V0bachelor.h:104 AliAnalysisTaskSELc2V0bachelor.h:105 AliAnalysisTaskSELc2V0bachelor.h:106 AliAnalysisTaskSELc2V0bachelor.h:107 AliAnalysisTaskSELc2V0bachelor.h:108 AliAnalysisTaskSELc2V0bachelor.h:109 AliAnalysisTaskSELc2V0bachelor.h:110 AliAnalysisTaskSELc2V0bachelor.h:111 AliAnalysisTaskSELc2V0bachelor.h:112 AliAnalysisTaskSELc2V0bachelor.h:113 AliAnalysisTaskSELc2V0bachelor.h:114 AliAnalysisTaskSELc2V0bachelor.h:115 AliAnalysisTaskSELc2V0bachelor.h:116 AliAnalysisTaskSELc2V0bachelor.h:117 AliAnalysisTaskSELc2V0bachelor.h:118 AliAnalysisTaskSELc2V0bachelor.h:119 AliAnalysisTaskSELc2V0bachelor.h:120 AliAnalysisTaskSELc2V0bachelor.h:121 AliAnalysisTaskSELc2V0bachelor.h:122 AliAnalysisTaskSELc2V0bachelor.h:123 AliAnalysisTaskSELc2V0bachelor.h:124 AliAnalysisTaskSELc2V0bachelor.h:125 AliAnalysisTaskSELc2V0bachelor.h:126 AliAnalysisTaskSELc2V0bachelor.h:127 AliAnalysisTaskSELc2V0bachelor.h:128 AliAnalysisTaskSELc2V0bachelor.h:129 AliAnalysisTaskSELc2V0bachelor.h:130 AliAnalysisTaskSELc2V0bachelor.h:131 AliAnalysisTaskSELc2V0bachelor.h:132 AliAnalysisTaskSELc2V0bachelor.h:133 AliAnalysisTaskSELc2V0bachelor.h:134 AliAnalysisTaskSELc2V0bachelor.h:135 AliAnalysisTaskSELc2V0bachelor.h:136 AliAnalysisTaskSELc2V0bachelor.h:137 AliAnalysisTaskSELc2V0bachelor.h:138 AliAnalysisTaskSELc2V0bachelor.h:139 AliAnalysisTaskSELc2V0bachelor.h:140 AliAnalysisTaskSELc2V0bachelor.h:141 AliAnalysisTaskSELc2V0bachelor.h:142 AliAnalysisTaskSELc2V0bachelor.h:143 AliAnalysisTaskSELc2V0bachelor.h:144 AliAnalysisTaskSELc2V0bachelor.h:145 AliAnalysisTaskSELc2V0bachelor.h:146 AliAnalysisTaskSELc2V0bachelor.h:147 AliAnalysisTaskSELc2V0bachelor.h:148 AliAnalysisTaskSELc2V0bachelor.h:149 AliAnalysisTaskSELc2V0bachelor.h:150 AliAnalysisTaskSELc2V0bachelor.h:151 AliAnalysisTaskSELc2V0bachelor.h:152 AliAnalysisTaskSELc2V0bachelor.h:153 AliAnalysisTaskSELc2V0bachelor.h:154 AliAnalysisTaskSELc2V0bachelor.h:155 AliAnalysisTaskSELc2V0bachelor.h:156 AliAnalysisTaskSELc2V0bachelor.h:157 AliAnalysisTaskSELc2V0bachelor.h:158 AliAnalysisTaskSELc2V0bachelor.h:159 AliAnalysisTaskSELc2V0bachelor.h:160 AliAnalysisTaskSELc2V0bachelor.h:161 AliAnalysisTaskSELc2V0bachelor.h:162 AliAnalysisTaskSELc2V0bachelor.h:163 AliAnalysisTaskSELc2V0bachelor.h:164 AliAnalysisTaskSELc2V0bachelor.h:165