checkmate is hosted by Hepforge, IPPP Durham
AnalysisBase Documentation  1.2.0
Signal/Cutflow/Control Region Management

Functions to declare and count signal, cutflow and control regions. More...

Functions

void AnalysisBase::bookSignalRegions (std::string listOfRegions)
 Function to book signal regions. More...
 
void AnalysisBase::bookControlRegions (std::string listOfRegions)
 Function to book control regions. More...
 
void AnalysisBase::bookCutflowRegions (std::string listOfRegions)
 Function to book cutflow regions. More...
 
void AnalysisBase::countSignalEvent (std::string region)
 Function to count a given event for a signal region. More...
 
void AnalysisBase::countControlEvent (std::string region)
 Function to count a given event for a control region. More...
 
void AnalysisBase::countCutflowEvent (std::string region)
 Function to count a given event for a cutflow region. More...
 

Detailed Description

Functions to declare and count signal, cutflow and control regions.

CheckMATE includes convenient means to count events with certain properties. One usually distinguishes between signal regions, which collect events with properties that characterise potential new physics, cutflow regions, which keep track of the individual conditions that lead to signal regions to check the correctness of the individual steps, and control regions, which in rare cases are used to check regions orthogonal to the signal regions for undesired contamination with signal events. Note that control regions should better be checked in the separate CR.cc analysis file that is created if you answered the "Will you implement Control Regions?" question within the AnalysisManger with 'yes'. Combining control regions and signal regions within one program is possible, but usually leads to hard to read code that can easily introduce bugs.

CheckMATE first needs to know which regions exist using the bookSignalRegions(), bookCutflowRegions() and bookControlRegions() functions. Then, a call of countCutflowEvent(), countSignalEvent() or countControlEvent() at the appropriate step within the analyze() function lets the program internally keep track of the event weight that should be counted and - at the end of the run - lists all important information in cutflow.dat, signal.dat and/or control.dat output files within the CheckMATE results folder.

Note Trying to run countXY on a region that has not been booked will cause the program to automatically book it as soon as a single event triggers the countXY function. However If no event passes the unbooked region, it will not appear in any output file, whereas a properly booked region will always be present in the output file.

Function Documentation

void AnalysisBase::bookSignalRegions ( std::string  listOfRegions)
protected

Function to book signal regions.

This function should be run within the initialize() part of a CheckMATE analysis and ensures that each of the listed regions is present in the signal.dat output files. In case of signal regions, this function is automatically put with the right arguments given the information the user has entered into the AnalysisManager. To improve readability, the user is free to split a single bookRegion call into many function calls with shorter arguments. Regions are always listed alphabetically within the output file. Hence, if a certain ordering is prefered, one should name the regions accordingly.

Parameters
listOfRegionsA string of the form "Region1;Region2;Region3;..." of all regions to be booked.

Definition at line 56 of file AnalysisBase.cc.

void AnalysisBase::bookControlRegions ( std::string  listOfRegions)
protected

Function to book control regions.

See Also
bookSignalRegions()

Definition at line 73 of file AnalysisBase.cc.

void AnalysisBase::bookCutflowRegions ( std::string  listOfRegions)
protected

Function to book cutflow regions.

See Also
bookSignalRegions()

Definition at line 89 of file AnalysisBase.cc.

void AnalysisBase::countSignalEvent ( std::string  region)
inlineprotected

Function to count a given event for a signal region.

Whenever an event within the analyze() function fulfills all properties to consider it for a defined signal region, a call of this function will let the code add the weight of the event internally and consider it for the final output.

Parameters
regionThe name of the region the event shoud be counted for. This region should be booked using bookSignalRegions().

Definition at line 464 of file AnalysisBase.h.

void AnalysisBase::countControlEvent ( std::string  region)
inlineprotected

Function to count a given event for a control region.

See Also
countSignalEvent

Definition at line 469 of file AnalysisBase.h.

void AnalysisBase::countCutflowEvent ( std::string  region)
inlineprotected

Function to count a given event for a cutflow region.

See Also
countSignalEvent

Definition at line 474 of file AnalysisBase.h.