Go to the documentation of this file. 1 #ifndef CBM_KRES_CONVERSION_KF
2 #define CBM_KRES_CONVERSION_KF
8 #include <TClonesArray.h>
10 #include "KFParticle.h"
11 #include "KFTopoPerformance.h"
33 void InitHistograms();
39 void Exec(
int fEventNumKF,
40 double OpeningAngleCut,
41 double GammaInvMassCut,
44 void FindGammas(vector<KFParticle> allgammas,
45 vector<KFParticle> particlevector,
51 int CheckIfElectron(
CbmRichRing* ring,
double momentum);
53 void FindPi0(TString mod,
54 vector<vector<TVector3>> Gammas,
55 vector<vector<int>> StsIndex,
56 vector<vector<CbmMCTrack*>> GammasMC,
57 vector<Double_t> GammasZ,
58 TH1D* Pi0InvMassRecoKF,
60 TH2D* Pi0_pt_vs_rap_est,
61 TH1D* Pi0InvMassRecoKF_target,
62 TH1D* Pi0InvMassRecoKF_mvd,
63 TH1D* Pi0InvMassRecoKF_sts,
64 TH1D* Pi0InvMassRecoKF_outside,
65 TH2D* MultiplicityGamma,
66 TH2D* MultiplicityChargedParticles,
67 vector<TH1*> BGCases);
70 void MixedEventMulti();
76 const KFParticleTopoReconstructor*
fKFtopo;
TH1D * sameMIDcase8NonEMotherPdg_all
vector< TH1 * > fHistoList_All_mvd
TH1D * fGammaOpeningAngleReco_Two_target
vector< TH1 * > fHistoList_Zero_outside
std::vector< int > EMT_Event_multi_onetwo
TH2D * fPi0_pt_vs_rap_est_All
TH1D * CheckForCuts_OA_Reco
TH1D * fGammaOpeningAngleReco_Two_sts
TH1D * sameMIDcase8NonEMotherPdg_onetwo
TH1D * EMTMulti_InvMass_All_m2
TH1D * fGammaInvMassReco_OneTwo_sts
TH1D * PdgCase8mothers_zero
TH1D * sameMIDcase8NonEPdg_all
TH1D * Case8NonElFrom_kaon_all
TH1D * CheckForCuts_InvMass_MC
std::vector< Double_t > GammasZeroZ
TH1D * Case8ElFromDalitz_zero
TH1D * PdgCase8motherNonE_all
TH1D * EMTMulti_InvMass_OneTwo_m4
TH1D * Case8NonElFrom_eta_onetwo
std::vector< std::vector< int > > GammasZeroStsIndex
vector< TH1 * > fHistoList_multiplicity_One
TH2D * MultiplicityGamma_Zero
TH1D * sameMIDcase8NonEMotherPdg_one
std::vector< std::vector< int > > GammasOneStsIndex
vector< TH1 * > fHistoList_Two_target
TH1D * fGammaInvMassReco_OneTwo_mvd
TH1D * fGammaOpeningAngleReco_Zero_sts
const KFParticleTopoReconstructor * fKFtopo
TH1D * EMTMulti_InvMass_OneTwo_m6
vector< TH1 * > fHistoList_All_sts
Here the ring is fitted with Taubin algorithm from A. Ayriyan, G. Ososkov, N. Chernov.
TH1D * fPi0InvMassRecoKF_Two_mvd
vector< TH1 * > fHistoList_multiplicity_All
TH1D * fPi0InvMassRecoKF_One_sts
std::vector< int > EMT_NofRings
TH1D * fGammaInvMassReco_Two_sts
TH1D * EMTMulti_InvMass_Two_m3
vector< TH1 * > fHistoList_One_target
TH2D * MultiplicityChargedParticles_One
TH1D * CheckForCuts_InvMass_Reco_from_one_pi0
TH1D * fGammaOpeningAngleReco_One_mvd
TH1D * EMTMulti_InvMass_One_m6
std::vector< std::vector< TVector3 > > EMT_pair_momenta_multi_one
TH1D * fGammaOpeningAngleReco_All
std::vector< std::vector< CbmMCTrack * > > GammasOneMC
std::vector< std::vector< CbmMCTrack * > > GammasTwoMC
TH1D * fPi0InvMassRecoKF_OneTwo_sts
TH1D * fGammaInvMassReco_All
vector< TH1 * > fHistoList_All_outside
TH1D * fPi0InvMassRecoKF_All_mvd
TH1D * fGammaOpeningAngleReco_OneTwo_outside
TH1D * fPi0InvMassRecoKF_All_outside
TH1D * CheckForCuts_OA_MC_from_one_pi0
TClonesArray * fStsTrackMatches
TH1D * fPi0InvMassRecoKF_OneTwo
TH1D * EMTMulti_InvMass_All_m7
TH1D * fGammaInvMassReco_All_mvd
std::vector< int > EMT_multi_two
TH1D * PdgCase8NonE_NOT_FromTarget_onetwo
TH1D * sameMIDcase8NonEComeFromTargetP_zero
TH1D * sameMIDcase8NonEComeFromTargetP_two
TH1D * sameMIDcase8NonEComeFromTargetIM_onetwo
TH2D * fPi0_pt_vs_rap_est_Zero
TH1D * fGammaOpeningAngleReco_One_sts
TH1D * Case8NonElFrom_pn_onetwo
vector< TH1 * > fHistoList_One_outside
std::vector< int > EMT_Event_multi_two
std::vector< Double_t > GammasOneTwoZ
TH1D * CheckForCuts_OA_Reco_from_one_pi0_less4cm
TH1D * PdgCase8NonE_NOT_FromTarget_one
TH1D * sameMIDcase8NonEPdgFromTarget_onetwo
vector< TH1 * > fHistoList_Two_outside
std::vector< int > EMT_Event_multi_zero
TH1D * PdgCase8NonE_NOT_FromTarget_zero
std::vector< std::vector< int > > GammasTwoStsIndex
TH1D * fGammaOpeningAngleReco_Zero_mvd
TH1D * Case8ElFromDalitz_onetwo
TH1D * sameMIDcase8NonEPdg_onetwo
vector< TH1 * > fHistoList_Two_sts
TH1D * Case8NonElFrom_kaon_onetwo
vector< TH1 * > fHistoList_OneTwo_target
TH1D * fPi0InvMassRecoKF_Zero
TH2D * MultiplicityGamma_All
TH2D * CheckForCuts_z_vs_InvMass_Reco_from_one_pi0
TH1D * fGammaInvMassReco_Zero
TH1D * fGammaInvMassReco_One
TH1D * fPi0InvMassRecoKF_Two
std::vector< Double_t > GammasOneZ
TH2D * fPi0_pt_vs_rap_Zero
TH1D * fGammaInvMassReco_OneTwo
TClonesArray * fRichRings
TH1D * CheckForCuts_InvMass_Reco
TH1D * sameMIDcase8NonEComeFromTargetP_onetwo
TH1D * Case8NonElFrom_pn_two
TH2D * MultiplicityGamma_One
TClonesArray * fRichProjections
TH1D * EMTMulti_InvMass_Zero_m2
TH1D * fPi0InvMassRecoKF_Two_sts
TH1D * fEMT_InvMass_Two_target
vector< TH1 * > fHistoList_Two_mvd
TH1D * fGammaOpeningAngleReco_Zero_outside
CbmKFParticleFinder * fKFparticle
TH1D * sameMIDcase8NonEMotherIM_onetwo
TH1D * fPi0InvMassRecoKF_All_target
TH1D * EMTMulti_InvMass_One_m7
std::vector< int > EMT_multi_onetwo
std::vector< std::vector< TVector3 > > EMT_pair_momenta_multi_two
TH1D * Case8NonElFrom_pn_one
TH1D * CheckForCuts_OA_Reco_from_one_pi0
TH1D * EMTMulti_InvMass_All_m5
TH1D * fPi0InvMassRecoKF_OneTwo_target
std::vector< std::vector< CbmMCTrack * > > GammasZeroMC
TH1D * PdgCase8mothers_all
TH1D * sameMIDcase8NonEMotherIM_one
TH1D * fGammaInvMassReco_Zero_mvd
TH2D * fPi0_pt_vs_rap_est_OneTwo
TH1D * fEMT_InvMass_OneTwo_target
TH1D * fEMT_InvMass_All_outside
TH1D * fGammaOpeningAngleReco_One_outside
TH1D * fPi0InvMassRecoKF_All
TH1D * fPi0InvMassRecoKF_One_target
TH1D * EMTMulti_InvMass_Zero_m5
TH1D * CheckForCuts_InvMass_MC_from_one_pi0
TH1D * fGammaInvMassReco_All_sts
TH1D * EMTMulti_InvMass_One_m1
TH2D * MultiplicityChargedParticles_All
TH1D * PdgCase8mothers_two
TH1D * EMTMulti_InvMass_One_m3
TH1D * EMTMulti_InvMass_Zero_m4
TH1D * PdgCase8NonEComeFromTarget_one
vector< TH1 * > fHistoList_bg_one
TH2D * MultiplicityChargedParticles_Two
std::vector< std::vector< TVector3 > > GammasOneTwo
TH1D * fGammaOpeningAngleReco_Two_mvd
std::vector< TVector3 > frefmomentum
TH1D * Case8NonElFrom_kaon_one
vector< TH1 * > fHistoList_One_sts
TH1D * sameMIDcase8NonEComeFromTargetIM_all
TH1D * sameMIDcase8_onetwo
TH1D * fEMT_InvMass_One_target
TH1D * fPi0InvMassRecoKF_One_outside
TH2D * fPi0_pt_vs_rap_est_Two
TH2D * fPi0_pt_vs_rap_OneTwo
TH1D * EMTMulti_InvMass_OneTwo_m2
TH2D * MultiplicityGamma_Two
TH1D * sameMIDcase8_mothedPDG_all
TClonesArray * fStsTracks
TH1D * PdgCase8mothers_onetwo
vector< TH1 * > fHistoList_Zero_sts
TH1D * fGammaOpeningAngleReco_OneTwo_target
TH1D * Case8ElFromDalitz_all
TH1D * fGammaOpeningAngleReco_Two_outside
TH1D * fEMT_InvMass_OneTwo
TH1D * EMTMulti_InvMass_One_m2
TH1D * Case8NonElFrom_kaon_two
TH1D * fPi0InvMassRecoKF_Two_outside
TH1D * fGammaOpeningAngleReco_OneTwo_mvd
TH1D * sameMIDcase8NonEPdgFromTarget_zero
TH1D * fGammaOpeningAngleReco_All_target
TH1D * EMTMulti_InvMass_Zero_m6
std::vector< int > EMT_Event_multi_one
vector< TH1 * > fHistoList_OneTwo_mvd
TH1D * fGammaInvMassReco_Two
TH1D * Case8NonElFrom_eta_zero
TH1D * sameGRIDcase8_zero
TH1D * fPi0InvMassRecoKF_OneTwo_mvd
TH1D * EMTMulti_InvMass_OneTwo_m3
CbmKresConversionBG * fAnaBG
TH1D * sameMIDcase8NonEMotherIM_all
TH2D * CheckForCuts_z_vs_InvMass_MC_from_one_pi0
std::vector< std::vector< CbmMCTrack * > > GammasOneTwoMC
TH1D * sameMIDcase8_mothedPDG_one
TH1D * sameMIDcase8NonEPdgFromTarget_two
std::vector< std::vector< TVector3 > > EMT_pair_momenta_multi_zero
TH1D * fGammaInvMassReco_All_target
TH1D * fGammaOpeningAngleReco_One
TH1D * PdgCase8NonEComeFromTarget_zero
TH1D * EMTMulti_InvMass_One_m5
TH1D * PdgCase8NonE_NOT_FromTarget_two
TH1D * CheckForCuts_InvMass_Reco_from_one_pi0_4cm_21cm
TH1D * fPi0InvMassRecoKF_Zero_sts
TH1D * fGammaInvMassReco_One_mvd
TH1D * fPi0InvMassRecoKF_OneTwo_outside
TH1D * fEMT_InvMass_All_target
TH1D * sameMIDcase8NonEMotherIM_two
CbmRichRingFitterEllipseTau * fTauFit
std::vector< int > EMT_Event_multi_all
std::vector< std::vector< int > > GammasAllStsIndex
TH1D * sameMIDcase8_mothedPDG_zero
TH1D * fEMT_InvMass_One_outside
TH1D * PdgCase8NonEComeFromTarget_two
TH1D * sameMIDcase8NonEComeFromTargetPt_all
TH1D * EMTMulti_InvMass_Two_m4
std::vector< std::vector< TVector3 > > GammasOne
TH1D * PdgCase8mothers_one
TH1D * fGammaInvMassReco_One_sts
TH1D * CheckForCuts_OA_MC
TH1D * fGammaInvMassReco_All_outside
TH1D * fGammaOpeningAngleReco_All_mvd
vector< TH1 * > fHistoList_bg_all
TH1D * CheckForCuts_InvMass_Reco_from_one_pi0_more21cm
vector< TH1 * > fHistoList_All
TH1D * EMTMulti_InvMass_Two_m7
TH1D * fPi0InvMassRecoKF_Two_target
vector< TH1 * > fHistoList_Zero_target
TH1D * EMTMulti_InvMass_Zero_m1
vector< TH1 * > fHistoList_OneTwo_outside
TH2D * fPi0_pt_vs_rap_est_One
std::vector< std::vector< int > > GammasOneTwoStsIndex
TH2D * fPi0_pt_vs_rap_One
TH1D * fEMT_InvMass_Zero_target
TH1D * sameMIDcase8_mothedPDG_two
TH1D * EMTMulti_InvMass_All_m1
std::vector< std::vector< TVector3 > > EMT_pair_momenta
TH1D * sameMIDcase8NonEComeFromTargetPt_onetwo
vector< TH1 * > fHistoList_bg_two
TH1D * EMTMulti_InvMass_OneTwo_m5
std::vector< int > fStsInd
TH1D * EMTMulti_InvMass_Two_m5
TH1D * fPi0InvMassRecoKF_Zero_outside
TH1D * sameMIDcase8NonEComeFromTargetIM_two
TH1D * fPi0InvMassRecoKF_All_sts
TH1D * fGammaOpeningAngleReco_Zero_target
std::vector< CbmMCTrack * > fmcvector
TH1D * fGammaInvMassReco_Zero_sts
TH2D * MultiplicityGamma_OneTwo
TH1D * sameMIDcase8NonEPdgFromTarget_one
CbmKFParticleFinderQA * fKFparticleFinderQA
TH1D * PdgCase8motherNonE_one
TH1D * EMTMulti_InvMass_Two_m1
CbmKresConversionKF(const CbmKresConversionKF &)
TH1D * Case8NonElFrom_eta_all
TH1D * fPi0InvMassRecoKF_Zero_target
TH1D * PdgCase8motherNonE_two
TH1D * fGammaOpeningAngleReco_OneTwo
TH1D * sameMIDcase8NonEMotherIM_zero
TH1D * sameMIDcase8NonEComeFromTargetP_all
TH1D * fGammaOpeningAngleReco_All_sts
TH1D * fGammaInvMassReco_Two_outside
vector< TH1 * > fHistoList_multiplicity_Two
TH1D * EMTMulti_InvMass_Zero_m7
vector< TH1 * > fHistoList_CheckForCuts
TH1D * sameMIDcase8NonEComeFromTargetPt_zero
std::vector< std::vector< TVector3 > > EMT_pair_momenta_multi_all
TH1D * fGammaInvMassReco_OneTwo_target
TClonesArray * fRichRingMatches
TH1D * fEMT_InvMass_Two_outside
TH1D * fGammaOpeningAngleReco_Two
vector< TH1 * > fHistoList_Zero_mvd
TH1D * sameMIDcase8NonEComeFromTargetP_one
vector< TH1 * > fHistoList_All_target
TH2D * CheckForCuts_z_vs_OA_Reco_from_one_pi0
TH1D * PdgCase8NonE_NOT_FromTarget_all
TH1D * Case8NonElFrom_kaon_zero
TH1D * sameGRIDcase8_onetwo
TH1D * Case8NonElFrom_pn_zero
TH1D * fPi0InvMassRecoKF_Zero_mvd
TH1D * PdgCase8motherNonE_zero
TH1D * fGammaInvMassReco_One_target
TH1D * EMTMulti_InvMass_OneTwo_m1
std::vector< std::vector< TVector3 > > GammasZero
std::vector< Double_t > GammasAllZ
std::vector< int > EMT_Event
TH1D * Case8NonElFrom_pn_all
std::vector< std::vector< TVector3 > > GammasAll
TH1D * sameMIDcase8NonEComeFromTargetPt_one
TH1D * Case8NonElFrom_eta_two
TH1D * EMTMulti_InvMass_OneTwo_m7
TH1D * fGammaInvMassReco_OneTwo_outside
TH1D * EMTMulti_InvMass_Zero_m3
TH1D * sameMIDcase8NonEPdgFromTarget_all
std::vector< std::vector< TVector3 > > GammasTwo
TH1D * EMTMulti_InvMass_One_m4
TH2D * fPi0_pt_vs_rap_All
TH1D * EMTMulti_InvMass_All_m3
TH2D * fPi0_pt_vs_rap_Two
TH1D * fGammaInvMassReco_Zero_target
TH1D * PdgCase8NonEComeFromTarget_all
TH1D * PdgCase8motherNonE_onetwo
std::vector< Double_t > GammasTwoZ
TH1D * sameMIDcase8NonEPdg_zero
vector< TH1 * > fHistoList_Zero
TH1D * sameMIDcase8NonEMotherPdg_zero
TH2D * CheckForCuts_z_vs_OA_MC_from_one_pi0
vector< TH1 * > fHistoList_OneTwo_sts
TH1D * fGammaOpeningAngleReco_All_outside
TH1D * EMTMulti_InvMass_All_m6
TH1D * PdgCase8NonEComeFromTarget_onetwo
TH1D * EMTMulti_InvMass_All_m4
TH1D * fGammaInvMassReco_Zero_outside
TH1D * fEMT_InvMass_Zero_outside
TClonesArray * fGlobalTracks
TH1D * fPi0InvMassRecoKF_One_mvd
vector< TH1 * > fHistoList_multiplicity_OneTwo
vector< TH1 * > fHistoList_bg_zero
TH1D * sameMIDcase8NonEPdg_one
std::vector< int > EMT_multi_zero
TH1D * fEMT_InvMass_OneTwo_outside
TH2D * MultiplicityChargedParticles_OneTwo
TH1D * CheckForCuts_InvMass_Reco_from_one_pi0_less4cm
vector< TH1 * > fHistoList_One
vector< TH1 * > fHistoList_One_mvd
CbmKresConversionKF operator=(const CbmKresConversionKF &)
TH1D * fGammaOpeningAngleReco_Zero
std::vector< int > EMT_multi_one
TH1D * fGammaOpeningAngleReco_OneTwo_sts
vector< TH1 * > fHistoList_bg_onetwo
TH1D * sameMIDcase8NonEMotherPdg_two
TH1D * fGammaInvMassReco_Two_mvd
TH1D * sameMIDcase8NonEPdg_two
TH1D * Case8NonElFrom_eta_one
TH1D * Case8ElFromDalitz_one
TH1D * CheckForCuts_OA_Reco_from_one_pi0_4cm_21cm
TH1D * fPi0InvMassRecoKF_One
std::vector< std::vector< TVector3 > > EMT_pair_momenta_multi_onetwo
TH1D * fGammaInvMassReco_Two_target
TH1D * EMTMulti_InvMass_Two_m2
TH1D * sameMIDcase8NonEComeFromTargetPt_two
TH1D * sameMIDcase8_mothedPDG_onetwo
TH1D * sameMIDcase8NonEComeFromTargetIM_one
TH1D * EMTMulti_InvMass_Two_m6
TH1D * sameMIDcase8NonEComeFromTargetIM_zero
TH1D * Case8ElFromDalitz_two
TH1D * fGammaInvMassReco_One_outside
vector< TH1 * > fHistoList_multiplicity_Zero
vector< TH1 * > fHistoList_Two
TH1D * fGammaOpeningAngleReco_One_target
TH2D * MultiplicityChargedParticles_Zero
std::vector< std::vector< CbmMCTrack * > > GammasAllMC
vector< TH1 * > fHistoList_OneTwo
TH1D * CheckForCuts_OA_Reco_from_one_pi0_more21cm
std::vector< Double_t > EMT_Z
std::vector< int > EMT_multi_all
vector< TH1 * > fHistoList_multiplicity