00001 00002 ////////////////////////////////////////////////////////// 00003 // 00004 // Example of TSelector implementation to do a Monte Carlo 00005 // generation using Pythia8. 00006 // See tutorials/proof/runProof.C, option "pythia8", for an 00007 // example of how to run this selector. 00008 // 00009 ////////////////////////////////////////////////////////// 00010 00011 #ifndef ProofPythia_h 00012 #define ProofPythia_h 00013 00014 #include <TSelector.h> 00015 00016 class TClonesArray; 00017 class TH1F; 00018 class TPythia8; 00019 00020 class ProofPythia : public TSelector { 00021 public : 00022 00023 // Specific members 00024 TH1F *fTot; 00025 TH1F *fHist; 00026 TH1F *fPt; 00027 TH1F *fEta; 00028 TPythia8 *fPythia; 00029 TClonesArray *fP; 00030 00031 ProofPythia(); 00032 virtual ~ProofPythia(); 00033 virtual Int_t Version() const { return 2; } 00034 virtual void Begin(TTree *tree); 00035 virtual void SlaveBegin(TTree *tree); 00036 virtual Bool_t Process(Long64_t entry); 00037 virtual void SetOption(const char *option) { fOption = option; } 00038 virtual void SetObject(TObject *obj) { fObject = obj; } 00039 virtual void SetInputList(TList *input) { fInput = input; } 00040 virtual TList *GetOutputList() const { return fOutput; } 00041 virtual void SlaveTerminate(); 00042 virtual void Terminate(); 00043 00044 ClassDef(ProofPythia,0); 00045 }; 00046 00047 #endif