A factory for building PDFs and data for a number counting combination. The factory produces a PDF for N channels with uncorrelated background uncertainty. Correlations can be added by extending this PDF with additional terms. The factory relates the signal in each channel to a master signal strength times the expected signal in each channel. Thus, the final test is performed on the master signal strength. This yields a more powerful test than letting signal in each channel be independent.
The problem has been studied in these references:
One can incorporate uncertainty on the expected signal by adding additional terms. For the future, perhaps this factory should be extended to include the efficiency terms automatically.
virtual | ~NumberCountingPdfFactory() |
void | AddData(Double_t* mainMeas, Double_t* bkgMeas, Double_t* db, Int_t nbins, RooWorkspace* ws, const char* dsName = "NumberCountingData") |
void | AddDataWithSideband(Double_t* mainMeas, Double_t* sideband, Double_t* tau, Int_t nbins, RooWorkspace* ws, const char* dsName = "ExpectedNumberCountingData") |
void | AddExpData(Double_t* sigExp, Double_t* bkgExp, Double_t* db, Int_t nbins, RooWorkspace* ws, const char* dsName = "ExpectedNumberCountingData") |
void | AddExpDataWithSideband(Double_t* sigExp, Double_t* bkgExp, Double_t* tau, Int_t nbins, RooWorkspace* ws, const char* dsName = "NumberCountingData") |
void | AddModel(Double_t* sigExp, Int_t nchan, RooWorkspace* ws, const char* pdfName = "CombinedPdf", const char* masterSignalName = "masterSignal") |
static TClass* | Class() |
virtual TClass* | IsA() const |
RooStats::NumberCountingPdfFactory | NumberCountingPdfFactory() |
RooStats::NumberCountingPdfFactory | NumberCountingPdfFactory(const RooStats::NumberCountingPdfFactory&) |
RooStats::NumberCountingPdfFactory& | operator=(const RooStats::NumberCountingPdfFactory&) |
virtual void | ShowMembers(TMemberInspector& insp, char* parent) |
virtual void | Streamer(TBuffer& b) |
void | StreamerNVirtual(TBuffer& b) |
RooRealVar* | SafeObservableCreation(RooWorkspace* ws, const char* varName, Double_t value) |
RooRealVar* | SafeObservableCreation(RooWorkspace* ws, const char* varName, Double_t value, Double_t maximum) |
This method produces a PDF for N channels with uncorrelated background uncertainty. It relates the signal in each channel to a master signal strength times the expected signal in each channel. For the future, perhaps this method should be extended to include the efficiency terms automatically.
Arguements are an array of expected signal, expected background, and relative background uncertainty (eg. 0.1 for 10% uncertainty), and the number of channels.
Arguements are an array of expected signal, expected background, and relative ratio of background expected in the sideband to that expected in signal region, and the number of channels.
need to be careful here that the range of observable in the dataset is consistent with the one in the workspace don't rescale unless necessary. If it is necessary, then rescale by x10 or a defined maximum.
need to be careful here that the range of observable in the dataset is consistent with the one in the workspace don't rescale unless necessary. If it is necessary, then rescale by x10 or a defined maximum.
Arguments are an array of results from a main measurement, a measured background, and relative background uncertainty (eg. 0.1 for 10% uncertainty), and the number of channels.
Arguements are an array of expected signal, expected background, and relative background uncertainty (eg. 0.1 for 10% uncertainty), and the number of channels.
need one for expected and one for observed