Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
ProofNtuple.h
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_proofntuple
3 ///
4 /// Selector to fill a simple ntuple
5 ///
6 /// \macro_code
7 ///
8 /// \author Gerardo Ganis (gerardo.ganis@cern.ch)
9 
10 #ifndef ProofNtuple_h
11 #define ProofNtuple_h
12 
13 #include <TSelector.h>
14 
15 class TFile;
16 class TProofOutputFile;
17 class TNtuple;
18 class TRandom3;
19 
20 class ProofNtuple : public TSelector {
21 public :
22 
23  // Specific members
24  TFile *fFile;
25  TProofOutputFile *fProofFile; // For optimized merging of the ntuple
26  TNtuple *fNtp;
27  TNtuple *fNtp2; // To test double TTree in the same file
28  TRandom3 *fRandom;
29  Bool_t fPlotNtuple;
30  TNtuple *fNtpRndm; // Ntuple with random numbers
31 
32  ProofNtuple() : fFile(0), fProofFile(0), fNtp(0), fNtp2(0), fRandom(0), fPlotNtuple(kTRUE), fNtpRndm(0) { }
33  virtual ~ProofNtuple();
34  virtual Int_t Version() const { return 2; }
35  virtual void Begin(TTree *tree);
36  virtual void SlaveBegin(TTree *tree);
37  virtual Bool_t Process(Long64_t entry);
38  virtual void SetOption(const char *option) { fOption = option; }
39  virtual void SetObject(TObject *obj) { fObject = obj; }
40  virtual void SetInputList(TList *input) { fInput = input; }
41  virtual TList *GetOutputList() const { return fOutput; }
42  virtual void SlaveTerminate();
43  virtual void Terminate();
44 
45  void PlotNtuple(TNtuple *, const char *);
46 
47  ClassDef(ProofNtuple,0);
48 };
49 
50 #endif