#ifndef _PDALITZDISTRIBUTION_H_
#define _PDALITZDISTRIBUTION_H_
#include "TF1.h"
#include "TF2.h"
#include "PDistribution.h"
#include "PProjector.h"
class PDalitzDistribution : public PDistribution {
public:
PDalitzDistribution();
PDalitzDistribution(const Char_t *id, const Char_t *de);
PDistribution* Clone(const char *delme=NULL) const;
Bool_t Init(void);
Bool_t Prepare(void);
Bool_t Finalize(void);
Bool_t IsNotRejected(void);
Bool_t CheckAbort(void);
void SetSlopes(Double_t myslope1, Double_t myslope2) {slope1=myslope1;slope2=myslope2;};
Bool_t AddEquation(const char *command);
Bool_t AddHistogram(TH2 *histo, const char *command = "");
Bool_t Do(char *command) {
return AddEquation(command);
};
Bool_t Do(TH2 *histo, const char *command = "") {
return AddHistogram(histo, command);
};
void SetMax(Double_t mymax) {
max = mymax;
};
private:
PParticle *side_particle[2];
PParticle *primary;
PParticle *parent;
PParticle *vprimary, *vs1, *vs2;
Double_t *vf;
Double_t slope1, slope2,max;
PProjector *projector;
void MakeVars(void);
ClassDef(PDalitzDistribution, 0)
};
#endif