Crombie Tools
FormulaCorrector.h
Go to the documentation of this file.
1 /**
2  @file FormulaCorrector.h
3 
4  Header file for the FormulaCorrector class.
5 
6  @author Daniel Abercrombie <dabercro@mit.edu>
7 */
8 
9 #ifndef CROMBIETOOLS_SKIMMINGTOOLS_FORMULACORRECTOR_H
10 #define CROMBIETOOLS_SKIMMINGTOOLS_FORMULACORRECTOR_H
11 
12 #include "TString.h"
13 #include "TTree.h"
14 #include "TTreeFormula.h"
15 
16 #include "Corrector.h"
17 
18 /**
19  @ingroup skimminggroup
20  @class FormulaCorrector
21  @brief Can be created using the CrombieTools.SkimmingTools.FormulaCorrector module.
22 
23  A Formulacorrector Takes a given formulat and saves a branch with the formula result.
24 
25 */
26 
28 {
29  // Private, only used by Copy
31  public:
32  /// Constructor setting the name of a branch it would like to write to.
33  FormulaCorrector( TString name, TString formula );
34  virtual ~FormulaCorrector();
35 
36  /// Copy this FormulaCorrector for parallelization
38 
39  /// Set the pointer to the TTree the Corrector objects inside are reading.
40  void SetInTree ( TTree* tree );
41 
42  /// Gets the list of formulas that this corrector is using
43  std::vector<TString> GetFormulas ();
44 
45  private:
46  /// Evaluate the TTree pointer fInTree at its current entry.
47  Float_t DoEval ();
48 
49  TString fFormulaString;
50  TTreeFormula* fFormula = NULL;
51 
52  ClassDef(FormulaCorrector,1)
53 };
54 
55 #endif