00001 #ifndef maddpanalysis_h
00002 #define maddpanalysis_h
00003 #include "Mad/MadAnalysis.h"
00004 #include "Mad/AnnInputBlock.h"
00005
00006 using namespace std;
00007
00008 class MadDpAnalysis : public MadAnalysis
00009 {
00010
00011 protected:
00012
00013 Bool_t PassTruthSignal(Int_t event=0);
00014 Bool_t PassAnalysisCuts(Int_t event=0);
00015 Float_t PID(Int_t event=0,Int_t method=0);
00016 Bool_t PassBasicCuts(Int_t event=0);
00017 Bool_t PassFid(Int_t event=0);
00018 Bool_t PassFidNew(Int_t event=0);
00019 Bool_t PassFidNewN(Int_t event=0);
00020 Float_t RecoAnalysisEnergy(Int_t event=0);
00021
00022 AnnInputBlock AnnVar(Int_t event=0);
00023 Double_t GetAnnPid(AnnInputBlock anninput,Int_t det, Int_t tar, Int_t fid, Int_t prior, Bool_t first_ann);
00024 Double_t Sigmoid(Double_t x);
00025
00026 Float_t SingleTimeFrame(Int_t snarlentry,Int_t nentries);
00027
00028 TFile *fLikeliFile;
00029 TH1F *fLikeliHist[6];
00030
00031 private :
00032
00033 Double_t Ann_weight_vector[226];
00034
00035 public:
00036
00037 MadDpAnalysis(TChain *chainSR=0,TChain *chainMC=0,
00038 TChain *chainTH=0,TChain *chainEM=0);
00039 MadDpAnalysis(JobC *,string,int);
00040 ~MadDpAnalysis();
00041
00042
00043
00044 void MakeMyFile(std::string,int,int);
00045 void ReadPIDFile(std::string);
00046 void CreatePAN(std::string, Int_t,Int_t);
00047
00048
00049 static bool InFidVol(const Detector::Detector_t& det,
00050 const Float_t& x, const Float_t& y,
00051 const Float_t& z);
00052
00053 };
00054 #endif // #ifdef maddpanalysis_h