/* * PndLLbarAnaTask.h * * Created on: July 7, 2015 * Author: Walter Ikegami Andersson */ #ifndef PndLLbarAnaTask_H #define PndLLbarAnaTask_H 1 #include "FairTask.h" #include #include #include "TLorentzVector.h" #include "TDatabasePDG.h" class TClonesArray; class TObjectArray; class TH1F; class TH2F; class RhoMassParticleSelector; class PndAnalysis; class RhoCandList; class RhoTuple; class PndLLbarAnaTask : public FairTask { public: // ** Default constructor PndLLbarAnaTask(); // ** Destructor ~PndLLbarAnaTask(); //int SelectTruePid(PndAnalysis *ana, RhoCandList &l); // ** Virtual method Init virtual InitStatus Init(); // ** Virtual method Exec virtual void Exec(Option_t* opt); // ** Virtual method Finish virtual void Finish(); void SetBeamMom(Double_t ini) { fIni = ini; } protected: Double_t fIni; TDatabasePDG *pdg; private: // *** event counter int nevts; // *** Truthmatch filter int SelectTruePid(PndAnalysis *ana, RhoCandList &l); // *** declare some histograms TH1F *hlam0lam0bar_tm_M; TH1F *hprob_4c; TH1F *hchi2_4c; TH1F *hlam0_M_all; TH1F *hlam0_M_4c; TH1F *hlam0bar_M_all; TH1F *hlam0bar_M_4c; //Piplus truthmatch histos TH1F *hpiplus_tm_P; TH1F *hpiplus_tm_Pt; TH1F *hpiplus_tm_Pl; TH1F *hpiplus_tm_EP; TH1F *hpiplus_tm_EPt; TH1F *hpiplus_tm_EPl; TH1F *hpiplus_tm_Theta; TH1F *hpiplus_tm_ETheta; TH1F *hpiplus_tm_cosTheta; TH1F *hpiplus_tm_cm_cosTheta; //Piminus truthmatch histos TH1F *hpiminus_tm_P; TH1F *hpiminus_tm_Pt; TH1F *hpiminus_tm_Pl; TH1F *hpiminus_tm_EP; TH1F *hpiminus_tm_EPt; TH1F *hpiminus_tm_EPl; TH1F *hpiminus_tm_Theta; TH1F *hpiminus_tm_ETheta; TH1F *hpiminus_tm_cosTheta; TH1F *hpiminus_tm_cm_cosTheta; //Proton truthmatch histos TH1F *hproton_tm_P; TH1F *hproton_tm_Pt; TH1F *hproton_tm_Pl; TH1F *hproton_tm_EP; TH1F *hproton_tm_EPt; TH1F *hproton_tm_EPl; TH1F *hproton_tm_Theta; TH1F *hproton_tm_ETheta; TH1F *hproton_tm_cosTheta; TH1F *hproton_tm_cm_cosTheta; //AntiProton truthmatch histos TH1F *hantiproton_tm_P; TH1F *hantiproton_tm_Pt; TH1F *hantiproton_tm_Pl; TH1F *hantiproton_tm_EP; TH1F *hantiproton_tm_EPt; TH1F *hantiproton_tm_EPl; TH1F *hantiproton_tm_Theta; TH1F *hantiproton_tm_ETheta; TH1F *hantiproton_tm_cosTheta; TH1F *hantiproton_tm_cm_cosTheta; //Lambda truthmatch histos TH1F *hlam0_tm_M_all; TH1F *hlam0_tm_cosTheta_all; TH1F *hlam0_tm_chi2_vtx; TH1F *hlam0_tm_prob_vtx; TH1F *hlam0_tm_M_vtx; TH1F *hlam0_tm_R_vtx; TH1F *hlam0_tm_Z_vtx; TH1F *hlam0_tm_cm_cosTheta_all; //Lambdabar truthmatch histos TH1F *hlam0bar_tm_M_all; TH1F *hlam0bar_tm_cosTheta_all; TH1F *hlam0bar_tm_chi2_vtx; TH1F *hlam0bar_tm_prob_vtx; TH1F *hlam0bar_tm_M_vtx; TH1F *hlam0bar_tm_R_vtx; TH1F *hlam0bar_tm_Z_vtx; TH1F *hlam0bar_tm_cm_cosTheta_all; // *** --------------------- *** // *** True MC 1D histograms *** // *** --------------------- *** //Lambda CM frame TH1F *htruelam0_cm_cosTheta; //Lambdabar CM frame TH1F *htruelam0bar_cm_cosTheta; //Piplus TH1F *htruepiplus_cosTheta; //Piminus TH1F *htruepiminus_cosTheta; //Proton TH1F *htrueproton_cosTheta; //Antiproton TH1F *htrueantiproton_cosTheta; // *** ------------------------- *** // *** Create some 2D histograms *** // *** ------------------------- *** //Piplus truthmatch histos TH2F *hpiplus_tm_PvsTheta; TH2F *hpiplus_tm_PvsDP; TH2F *hpiplus_tm_ThetavsDTheta; //Piminus truthmatch histos TH2F *hpiminus_tm_PvsTheta; TH2F *hpiminus_tm_PvsDP; TH2F *hpiminus_tm_ThetavsDTheta; //Proton truthmatch histos TH2F *hproton_tm_PvsTheta; TH2F *hproton_tm_PvsDP; TH2F *hproton_tm_ThetavsDTheta; //AntiProton truthmatch histos TH2F *hantiproton_tm_PvsTheta; TH2F *hantiproton_tm_PvsDP; TH2F *hantiproton_tm_ThetavsDTheta; //Lambda truthmatch CM histos TH2F *hlam0_tm_cm_PtvsPl_vtx; //Lambda bar truthmatch CM histos TH2F *hlam0bar_tm_cm_PtvsPl_vtx; // *** the PndAnalysis object PndAnalysis *theAnalysis; // *** Get parameter containers virtual void SetParContainers(); ClassDef(PndLLbarAnaTask,1); }; #endif