Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooAbsMCStudyModule.cxx
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitCore *
4  * @(#)root/roofitcore:$Id$
5  * Authors: *
6  * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7  * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8  * *
9  * Copyright (c) 2000-2005, Regents of the University of California *
10  * and Stanford University. All rights reserved. *
11  * *
12  * Redistribution and use in source and binary forms, *
13  * with or without modification, are permitted according to the terms *
14  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15  *****************************************************************************/
16 
17 /**
18 \file RooAbsMCStudyModule.cxx
19 \class RooAbsMCStudyModule
20 \ingroup Roofitcore
21 
22 RooAbsMCStudyModule is a base class for add-on modules to RooMCStudy that
23 can perform additional calculations on each generate+fit cycle managed
24 by RooMCStudy.
25 
26 This class can insert code to be executed before each generation step,
27 between the generation and fitting step and after the fitting step.
28 Any summary output variables declared in the RooDataSet exported through
29 summaryData() is merged with the 'master' summary dataset in RooMCStudy.
30 
31 Look at RooDLLSignificanceMCStudyModule for an example of an implementation.
32 **/
33 
34 #include "RooFit.h"
35 #include "RooAbsMCStudyModule.h"
36 
37 using namespace std;
38 
39 ClassImp(RooAbsMCStudyModule);
40  ;
41 
42 
43 ////////////////////////////////////////////////////////////////////////////////
44 /// Constructor
45 
46 RooAbsMCStudyModule::RooAbsMCStudyModule(const char* name, const char* title) : TNamed(name,title), _mcs(0)
47 {
48 }
49 
50 
51 ////////////////////////////////////////////////////////////////////////////////
52 /// Copy constructor
53 
54 RooAbsMCStudyModule::RooAbsMCStudyModule(const RooAbsMCStudyModule& other) : TNamed(other), _mcs(other._mcs)
55 {
56 }
57 
58 
59 ////////////////////////////////////////////////////////////////////////////////
60 /// Store reference to RooMCStudy object that this module relates to and call internal module
61 /// initialization function
62 
63 Bool_t RooAbsMCStudyModule::doInitializeInstance(RooMCStudy& study)
64 {
65  _mcs = &study ;
66  return initializeInstance() ;
67 }
68