Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PDFs for B2G-23-008 analysis #876

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions interface/ExpGaussExp.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/*****************************************************************************
* Project: RooFit *
* *
* This code was autogenerated by RooClassFactory *
******************************************************************************/

#ifndef EXPGAUSSEXP
#define EXPGAUSSEXP

#include "RooAbsPdf.h"
#include "RooRealProxy.h"
#include "RooCategoryProxy.h"
#include "RooAbsReal.h"
#include "RooAbsCategory.h"


class ExpGaussExp : public RooAbsPdf {
public:
ExpGaussExp() {} ;
ExpGaussExp(const char *name, const char *title, RooAbsReal& _x, RooAbsReal& _p0, RooAbsReal& _p1, RooAbsReal& _p2, RooAbsReal& _p3);
ExpGaussExp(const ExpGaussExp& other, const char* name=0) ;
virtual TObject* clone(const char* newname) const { return new ExpGaussExp(*this,newname); }
inline virtual ~ExpGaussExp() { }

protected:

RooRealProxy x ;
RooRealProxy p0 ;
RooRealProxy p1 ;
RooRealProxy p2 ;
RooRealProxy p3 ;

Double_t evaluate() const ;

private:

ClassDef(ExpGaussExp,1) // Your description goes here...
};

#endif
38 changes: 38 additions & 0 deletions interface/PolinomialExponent_1p.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*****************************************************************************
* Project: RooFit *
* *
* This code was autogenerated by RooClassFactory *
*****************************************************************************/

#pragma once

#include "RooAbsPdf.h"
#include "RooRealProxy.h"
#include "RooCategoryProxy.h"
#include "RooAbsReal.h"
#include "RooAbsCategory.h"

class PolinomialExponent_1p : public RooAbsPdf {
public:
PolinomialExponent_1p() {} ;
PolinomialExponent_1p(const char *name, const char *title, RooAbsReal& _x, RooAbsReal& _e1);
PolinomialExponent_1p(const PolinomialExponent_1p& other, const char* name=0) ;
virtual TObject* clone(const char* newname) const { return new PolinomialExponent_1p(*this,newname); }
inline virtual ~PolinomialExponent_1p() { }

/*
Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
*/

protected:

RooRealProxy x;
RooRealProxy e1;

Double_t evaluate() const ;

private:

ClassDef(PolinomialExponent_1p,2) // PDF of dijet function with 4 free parameters
};
39 changes: 39 additions & 0 deletions interface/PolinomialExponent_2p.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*****************************************************************************
* Project: RooFit *
* *
* This code was autogenerated by RooClassFactory *
*****************************************************************************/

#pragma once

#include "RooAbsPdf.h"
#include "RooRealProxy.h"
#include "RooCategoryProxy.h"
#include "RooAbsReal.h"
#include "RooAbsCategory.h"

class PolinomialExponent_2p : public RooAbsPdf {
public:
PolinomialExponent_2p() {} ;
PolinomialExponent_2p(const char *name, const char *title, RooAbsReal& _x, RooAbsReal& _e1, RooAbsReal& _e2);
PolinomialExponent_2p(const PolinomialExponent_2p& other, const char* name=0) ;
virtual TObject* clone(const char* newname) const { return new PolinomialExponent_2p(*this,newname); }
inline virtual ~PolinomialExponent_2p() { }

/*
Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
*/

protected:

RooRealProxy x;
RooRealProxy e1;
RooRealProxy e2;

Double_t evaluate() const ;

private:

ClassDef(PolinomialExponent_2p,2) // PDF of dijet function with 4 free parameters
};
40 changes: 40 additions & 0 deletions interface/PolinomialExponent_3p.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/*****************************************************************************
* Project: RooFit *
* *
* This code was autogenerated by RooClassFactory *
*****************************************************************************/

#pragma once

#include "RooAbsPdf.h"
#include "RooRealProxy.h"
#include "RooCategoryProxy.h"
#include "RooAbsReal.h"
#include "RooAbsCategory.h"

class PolinomialExponent_3p : public RooAbsPdf {
public:
PolinomialExponent_3p() {} ;
PolinomialExponent_3p(const char *name, const char *title, RooAbsReal& _x, RooAbsReal& _e1, RooAbsReal& _e2, RooAbsReal& _e3);
PolinomialExponent_3p(const PolinomialExponent_3p& other, const char* name=0) ;
virtual TObject* clone(const char* newname) const { return new PolinomialExponent_3p(*this,newname); }
inline virtual ~PolinomialExponent_3p() { }

/*
Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
*/

protected:

RooRealProxy x;
RooRealProxy e1;
RooRealProxy e2;
RooRealProxy e3;

Double_t evaluate() const ;

private:

ClassDef(PolinomialExponent_3p,2) // PDF of dijet function with 4 free parameters
};
41 changes: 41 additions & 0 deletions interface/PolinomialExponent_4p.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*****************************************************************************
* Project: RooFit *
* *
* This code was autogenerated by RooClassFactory *
*****************************************************************************/

#pragma once

#include "RooAbsPdf.h"
#include "RooRealProxy.h"
#include "RooCategoryProxy.h"
#include "RooAbsReal.h"
#include "RooAbsCategory.h"

class PolinomialExponent_4p : public RooAbsPdf {
public:
PolinomialExponent_4p() {} ;
PolinomialExponent_4p(const char *name, const char *title, RooAbsReal& _x, RooAbsReal& _e1, RooAbsReal& _e2, RooAbsReal& _e3, RooAbsReal& _e4);
PolinomialExponent_4p(const PolinomialExponent_4p& other, const char* name=0) ;
virtual TObject* clone(const char* newname) const { return new PolinomialExponent_4p(*this,newname); }
inline virtual ~PolinomialExponent_4p() { }

/*
Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
*/

protected:

RooRealProxy x;
RooRealProxy e1;
RooRealProxy e2;
RooRealProxy e3;
RooRealProxy e4;

Double_t evaluate() const ;

private:

ClassDef(PolinomialExponent_4p,2) // PDF of dijet function with 4 free parameters
};
42 changes: 42 additions & 0 deletions interface/PolinomialExponent_5p.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*****************************************************************************
* Project: RooFit *
* *
* This code was autogenerated by RooClassFactory *
*****************************************************************************/

#pragma once

#include "RooAbsPdf.h"
#include "RooRealProxy.h"
#include "RooCategoryProxy.h"
#include "RooAbsReal.h"
#include "RooAbsCategory.h"

class PolinomialExponent_5p : public RooAbsPdf {
public:
PolinomialExponent_5p() {} ;
PolinomialExponent_5p(const char *name, const char *title, RooAbsReal& _x, RooAbsReal& _e1, RooAbsReal& _e2, RooAbsReal& _e3, RooAbsReal& _e4, RooAbsReal& _e5);
PolinomialExponent_5p(const PolinomialExponent_5p& other, const char* name=0) ;
virtual TObject* clone(const char* newname) const { return new PolinomialExponent_5p(*this,newname); }
inline virtual ~PolinomialExponent_5p() { }

/*
Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
*/

protected:

RooRealProxy x;
RooRealProxy e1;
RooRealProxy e2;
RooRealProxy e3;
RooRealProxy e4;
RooRealProxy e5;

Double_t evaluate() const ;

private:

ClassDef(PolinomialExponent_5p,2) // PDF of dijet function with 4 free parameters
};
43 changes: 43 additions & 0 deletions interface/PolinomialExponent_6p.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*****************************************************************************
* Project: RooFit *
* *
* This code was autogenerated by RooClassFactory *
*****************************************************************************/

#pragma once

#include "RooAbsPdf.h"
#include "RooRealProxy.h"
#include "RooCategoryProxy.h"
#include "RooAbsReal.h"
#include "RooAbsCategory.h"

class PolinomialExponent_6p : public RooAbsPdf {
public:
PolinomialExponent_6p() {} ;
PolinomialExponent_6p(const char *name, const char *title, RooAbsReal& _x, RooAbsReal& _e1, RooAbsReal& _e2, RooAbsReal& _e3, RooAbsReal& _e4, RooAbsReal& _e5, RooAbsReal& _e6);
PolinomialExponent_6p(const PolinomialExponent_6p& other, const char* name=0) ;
virtual TObject* clone(const char* newname) const { return new PolinomialExponent_6p(*this,newname); }
inline virtual ~PolinomialExponent_6p() { }

/*
Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
*/

protected:

RooRealProxy x;
RooRealProxy e1;
RooRealProxy e2;
RooRealProxy e3;
RooRealProxy e4;
RooRealProxy e5;
RooRealProxy e6;

Double_t evaluate() const ;

private:

ClassDef(PolinomialExponent_6p,2) // PDF of dijet function with 4 free parameters
};
46 changes: 46 additions & 0 deletions src/ExpGaussExp.cxx
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/*****************************************************************************
* Project: RooFit *
* *
* This code was autogenerated by RooClassFactory *
*****************************************************************************/

// Gaussian core + exponential tail on high side + exponential tail on low side
// Souvik Das
// 8/23/2013

#include "Riostream.h"
#include "HiggsAnalysis/CombinedLimit/interface/ExpGaussExp.hpp"
#include "RooAbsReal.h"
#include "RooAbsCategory.h"
#include <math.h>
#include "TMath.h"

ClassImp(ExpGaussExp)

ExpGaussExp::ExpGaussExp(const char *name, const char *title, RooAbsReal& _x, RooAbsReal& _p0, RooAbsReal& _p1, RooAbsReal& _p2, RooAbsReal& _p3) :
RooAbsPdf(name,title),
x("x","x",this,_x),
p0("p0","p0",this,_p0),
p1("p1","p1",this,_p1),
p2("p2","p2",this,_p2),
p3("p3","p3",this,_p3)
{
}


ExpGaussExp::ExpGaussExp(const ExpGaussExp& other, const char* name) : RooAbsPdf(other,name), x("x",this,other.x), p0("p0",this,other.p0), p1("p1",this,other.p1), p2("p2",this,other.p2), p3("p3",this,other.p3) { }

Double_t ExpGaussExp::evaluate() const {
Double_t std=(x-p0)/p1;
Double_t result=0;

if (std<-p2){
result=exp(p2*p2/2.+p2*std);
} else if (-p2<=std && std<p3){
result=exp(-0.5*pow(std, 2));
} else {
result=exp(p3*p3/2.-p3*std);
}

return result;
}
34 changes: 34 additions & 0 deletions src/PolinomialExponent_1p.cxx
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*****************************************************************************
* Project: RooFit *
* *
* This code was autogenerated by RooClassFactory *
*****************************************************************************/

// Landau core + exponential tail
// Andrea Malara
// 01/08/2019

#include "Riostream.h"

#include "HiggsAnalysis/CombinedLimit/interface/PolinomialExponent_1p.hpp"
#include "RooAbsReal.h"
#include "RooAbsCategory.h"
#include <math.h>
#include "TMath.h"

ClassImp(PolinomialExponent_1p)

PolinomialExponent_1p::PolinomialExponent_1p(const char *name, const char *title, RooAbsReal& _x, RooAbsReal& _e1) :
RooAbsPdf(name,title), x("x","x",this,_x), e1("e1","e1",this,_e1) {
}


PolinomialExponent_1p::PolinomialExponent_1p(const PolinomialExponent_1p& other, const char* name) :
RooAbsPdf(other,name), x("x",this,other.x), e1("e1",this,other.e1) {
}

Double_t PolinomialExponent_1p::evaluate() const {
Double_t xp = x/1000.;
Double_t result = exp(e1*xp);
return result;
}
Loading
Loading