#ifndef CBM_KRES_TRAIN_ANN_DIRECT_PHOTONS #define CBM_KRES_TRAIN_ANN_DIRECT_PHOTONS #include #include #include "TVector3.h" #include "TH2D.h" #include "TCanvas.h" using namespace std; class CbmKresTrainAnnDirectPhotons { public: //***** brief Standard constructor. CbmKresTrainAnnDirectPhotons(); //***** brief Standard destructor. virtual ~CbmKresTrainAnnDirectPhotons(); void Init(); void InitHistograms(); void Exec(int event, int IdForANN, double InvariantMass, double OpeningAngle, double PlaneAngle_last, double ZPos, TVector3 Momentum1, TVector3 Momentum2); void TrainAndTestAnn(); void Draw(); private: unsigned int fMaxNofTrainSamples; double fAnnCut; int fNofWrongLikeCorrect; int fNofCorrectLikeWrong; vector IM_correct; vector OA_correct; vector Angle_correct; vector Z_correct; vector Mom1_correct; vector Mom2_correct; vector IM_wrong; vector OA_wrong; vector Angle_wrong; vector Z_wrong; vector Mom1_wrong; vector Mom2_wrong; vector fHists; TH1D * fhAnnOutput_correct; TH1D * fhAnnOutput_wrong; TH1D * fhCumProb_correct; TH1D * fhCumProb_wrong; //***** brief Copy constructor. CbmKresTrainAnnDirectPhotons(const CbmKresTrainAnnDirectPhotons&); //***** brief Assignment operator. CbmKresTrainAnnDirectPhotons operator=(const CbmKresTrainAnnDirectPhotons&); ClassDef(CbmKresTrainAnnDirectPhotons,1) }; #endif