checkmate is hosted by Hepforge, IPPP Durham

The base class which defines the structure and functionality of all CheckMATE analyses. More...

#include <AnalysisBase.h>

Public Member Functions

 AnalysisBase (std::string inFile, std::string outFol, std::string outPre, double xs, double xserr, std::map< std::string, std::string > branches, std::map< std::string, std::vector< int > > flags)
 Constructor function to load the Delphes ROOT file. More...
 
 ~AnalysisBase ()
 Destructor function to free pointers and close opened file streams. More...
 
void loopOverEvents ()
 Internal function that starts the event loop in main(). More...
 

Protected Member Functions

virtual void initialize ()
 Function to prepare the analysis. More...
 
virtual void analyze ()
 Function containing the event wise analysis code. More...
 
virtual void finalize ()
 Function to finish the analyis. More...
 
template<class T >
std::vector< T * > filterPhaseSpace (std::vector< T * > unfiltered, double pTmin=0., double etamin=-100, double etamax=100, bool exclude_overlap=false)
 Require objects to have a certain ptmin and lie within a certain eta range. More...
 
template<class X , class Y >
std::vector< X * > overlapRemoval (std::vector< X * > candidates, std::vector< Y * > neighbours, double dR)
 Remove objects if they are to close. More...
 
template<class X >
std::vector< X * > overlapRemoval (std::vector< X * > candidates, double dR)
 Remove objects if they are to close to any other object in the same list. More...
 
std::vector< Electron * > filterIsolation (std::vector< Electron * > unfiltered, std::vector< int > relative_flags=std::vector< int >())
 Remove electrons that are not isolated. More...
 
std::vector< Electron * > filterIsolation (std::vector< Electron * > unfiltered, int relative_flag)
 Remove electrons that are not isolated (simplified function for exactly one condition given as one integer). More...
 
std::vector< Muon * > filterIsolation (std::vector< Muon * > unfiltered, std::vector< int > relative_flags=std::vector< int >())
 Remove muons that are not isolated. More...
 
std::vector< Muon * > filterIsolation (std::vector< Muon * > unfiltered, int relative_flag)
 Remove muons that are not isolated (simplified function for exactly one condition given as one integer) More...
 
std::vector< Photon * > filterIsolation (std::vector< Photon * > unfiltered, std::vector< int > relative_flags=std::vector< int >())
 Remove photons that are not isolated. More...
 
std::vector< Photon * > filterIsolation (std::vector< Photon * > unfiltered, int relative_flag)
 Remove photons that are not isolated (simplified function for exactly one condition given as one integer) More...
 
bool checkTauTag (Jet *candidate, std::string efficiency)
 Checks if candidate jet fulfills given tau identification cut. More...
 
bool checkBTag (Jet *candidate, int relative_flag=0, std::string option="")
 Checks if candidate jet fulfills given b-jet identification. More...
 
double mT (const TLorentzVector &vis, const TLorentzVector &invis)
 Evaluates the transverse mass $m_T$. More...
 
double mT2 (const TLorentzVector &vis1, const TLorentzVector &vis2, double m_inv, const TLorentzVector &invis=TLorentzVector(0., 0., 0., 0.))
 Evaluates $m_{T2}$. More...
 
double mCT (const TLorentzVector &v1, const TLorentzVector &v2)
 Evaluates normal $M_{CT}$. More...
 
double mCTcorr (const TLorentzVector &v1, const TLorentzVector &v2, const TLorentzVector &vds, const TLorentzVector &invis, const double ecm=8000.0, const double mxlo=0.0)
 Evaluates boost corrected $M_{CT}$. More...
 
double mCTy (const TLorentzVector &v1, const TLorentzVector &v2, const TLorentzVector &vds, const TLorentzVector &invis)
 Evaluates $M_{CT}$ transverse. More...
 
double mT2_bl (const TLorentzVector &pl_in, const TLorentzVector &pb1_in, const TLorentzVector &pb2_in, const TLorentzVector &invis=TLorentzVector(0., 0., 0., 0.))
 Evaluates $m_{T2}^{bl}$. More...
 
double alphaT (const std::vector< Jet * > &jets, const double thresh_ET=0.)
 Evaluates $\alpha_T$. More...
 
std::vector< double > razor (const std::vector< TLorentzVector > &obj, const TLorentzVector &invis=TLorentzVector(0., 0., 0., 0.))
 Evaluates razor. More...
 
void bookSignalRegions (std::string listOfRegions)
 Function to book signal regions. More...
 
void bookControlRegions (std::string listOfRegions)
 Function to book control regions. More...
 
void bookCutflowRegions (std::string listOfRegions)
 Function to book cutflow regions. More...
 
void countSignalEvent (std::string region)
 Function to count a given event for a signal region. More...
 
void countControlEvent (std::string region)
 Function to count a given event for a control region. More...
 
void countCutflowEvent (std::string region)
 Function to count a given event for a cutflow region. More...
 
int bookFile (std::string name, bool noheader=false)
 Function to book file streams accessible via fStreams and fNames. More...
 
void setInformation (std::string s)
 Sets the header that is printed on top of all output files. More...
 
void setLuminosity (double l)
 Sets the luminosity. More...
 
void setAnalysisName (std::string name)
 Sets the analysis name to denote the name of the output files. More...
 
double normalize (double x)
 Normalises number to luminosity and cross section. More...
 
void ignore (std::string ignore_what)
 Does not read out unneeded ROOT information. More...
 

Protected Member Variables

std::vector< Electron * > electrons
 Container of all truth electrons after detector smearing in acceptance range. More...
 
std::vector< Electron * > electronsLoose
 Container of 'electrons' objects that pass loose isolation condition. More...
 
std::vector< Electron * > electronsMedium
 Container of 'electronsLoose' objects that pass 'medium' efficiency cut. More...
 
std::vector< Electron * > electronsTight
 Container of 'electronsLoose' objects that pass 'medium' efficiency cut. More...
 
std::vector< Muon * > muons
 Container of all truth muons after detector smearing in acceptance range. More...
 
std::vector< Muon * > muonsCombinedPlus
 Container of objects that pass loose isolation condition and 'CBplusST' efficiency. More...
 
std::vector< Muon * > muonsCombined
 Container of 'muonsCombinedPlus' objects that pass 'CB' efficiency. More...
 
std::vector< Jet * > jets
 Container of all reconstructed jets. More...
 
std::vector< Jet * > jets2
 Container of all reconstructed 'second type' jets if defined in analysis settings. More...
 
std::vector< Photon * > photons
 Container of all truth photons after detector smearing and loose isolation condition. More...
 
std::vector< Track * > tracks
 Container of all reconstructed tracks. More...
 
std::vector< Tower * > towers
 Container of all calorimeter towers. More...
 
ETMissmissingET
 Reconstructed missingET vector excluding muons. More...
 
std::vector< std::ofstream * > fStreams
 Container of output file streams booked via bookFile() More...
 
std::vector< std::string > fNames
 Container of output file names booked via bookFile() More...
 
ExRootResult * result
 Object to ExRootAnalysis for internal studies. More...
 
double weight
 Current event weight usable for e.g. histograms. More...
 

Detailed Description

The base class which defines the structure and functionality of all CheckMATE analyses.

This class is a base class all CheckMATE analyses inherit from. It takes care of passing and storing CheckMATE on-the-fly parameters, reading in the Delphes output ROOT files and providing convenient vectors of final state objects for each event.

Definition at line 47 of file AnalysisBase.h.

Constructor & Destructor Documentation

AnalysisBase::AnalysisBase ( std::string  inFile,
std::string  outFol,
std::string  outPre,
double  xs,
double  xserr,
std::map< std::string, std::string >  branches,
std::map< std::string, std::vector< int > >  flags 
)

Constructor function to load the Delphes ROOT file.

The constructor takes various input parameters automatically provided by the CheckMATE code, which includes information about the analysed events, the structure of the Delphes output ROOT file and the directory the output files should be written into. It automatically loads the right branches of the Delphes ROOT file.

Definition at line 3 of file AnalysisBase.cc.

AnalysisBase::~AnalysisBase ( )

Destructor function to free pointers and close opened file streams.

Definition at line 44 of file AnalysisBase.cc.

Member Function Documentation

void AnalysisBase::loopOverEvents ( )

Internal function that starts the event loop in main().

This function is called by CheckMATE within the programs main() routine. It first runs the user defined 'initialize()' function. It then starts the event loop, during which for each event the final state objects are created and preisolation conditions are applied before the user defined 'analyze()' function is called. After the loop finished, the user defined 'finalize() function is called before all booked cutflow and signal tables are finalised and printed.

Definition at line 107 of file AnalysisBase.cc.


The documentation for this class was generated from the following files: