RooRelBreitWigner.hh

Go to the documentation of this file.
00001 #ifndef ROO_RELBREITWIGNER
00002 #define ROO_RELBREITWIGNER
00003 
00004 #include "RooFitCore/RooAbsPdf.hh"
00005 #include "RooFitCore/RooRealProxy.hh"
00006 
00007 class RooRealVar;
00008 
00009 class RooRelBreitWigner : public RooAbsPdf {
00010 
00011 public:
00012   RooRelBreitWigner(const char *name, 
00013                     const char *title,
00014                     RooAbsReal& _x, 
00015                     RooAbsReal& _mean, 
00016                     RooAbsReal& _width,
00017                     RooAbsReal& _radius,
00018                     RooAbsReal& _mass_a,
00019                     RooAbsReal& _mass_b,
00020                     RooAbsReal& _spin);
00021   RooRelBreitWigner(const RooRelBreitWigner& other, 
00022                     const char* name=0) ;
00023   virtual TObject* clone(const char* newname) const { 
00024     return new RooRelBreitWigner(*this,newname); 
00025   }
00026   inline virtual ~RooRelBreitWigner() { }
00027 
00028 protected:
00029 
00030   RooRealProxy x ;      // observable (mass)
00031   RooRealProxy mean ;    // mean
00032   RooRealProxy width ;  // width
00033   RooRealProxy radius ; // meson radius parameter
00034   RooRealProxy mass_a ; // mass of first daughter from decay
00035   RooRealProxy mass_b ; // mass of second daughter from decay
00036   RooRealProxy spin ; // spin (= 0,1,2)
00037   
00038   Double_t evaluate() const ;
00039 
00040 private:
00041   Double_t getWidth() const;
00042   Double_t getQterm(Double_t q, Double_t q0) const;
00043   Double_t getFF(Double_t q) const;
00044   Double_t getQ(Double_t mass) const;
00045 
00046   ClassDef(RooRelBreitWigner,0) // Relativistic Breit Wigner PDF
00047 };
00048 
00049 #endif

Generated on 30 Oct 2013 for RooRarFit by  doxygen 1.4.7