//////////////////////////////////////////////////////////
//   This class has been automatically generated 
//     (Thu Jun  9 12:05:29 2005 by ROOT version3.10/02)
//   from TChain h101/
//////////////////////////////////////////////////////////


#ifndef Higgs_h
#define Higgs_h

#include <TROOT.h>
#include <TChain.h>
#include <TFile.h>

class Higgs {
   public :
   TTree          *fChain;   //!pointer to the analyzed TTree or TChain
   Int_t           fCurrent; //!current Tree number in a TChain
//Declaration of leaves types
   Int_t           Nevhep;
   Int_t           Nhep;
   Int_t           Idhep[3950];   //[Nhep]
   Int_t           Jsmhep[3950];   //[Nhep]
   Int_t           Jsdhep[3950];   //[Nhep]
   Float_t         Phep[3950][5];   //[Nhep]
   Float_t         Vhep[3950][4];   //[Nhep]
   Int_t           Irun;
   Int_t           Ievt;
   Float_t         Weight;
   Float_t         Xsecn;
   Int_t           Ifilter;
   Int_t           Nparam;
   Float_t         Param[200];   //[Nparam]

//List of branches
   TBranch        *b_Nevhep;   //!
   TBranch        *b_Nhep;   //!
   TBranch        *b_Idhep;   //!
   TBranch        *b_Jsmhep;   //!
   TBranch        *b_Jsdhep;   //!
   TBranch        *b_Phep;   //!
   TBranch        *b_Vhep;   //!
   TBranch        *b_Irun;   //!
   TBranch        *b_Ievt;   //!
   TBranch        *b_Weight;   //!
   TBranch        *b_Xsecn;   //!
   TBranch        *b_Ifilter;   //!
   TBranch        *b_Nparam;   //!
   TBranch        *b_Param;   //!

   Higgs(TTree *tree=0);
   ~Higgs();
   Int_t  Cut(Int_t entry);
   Int_t  GetEntry(Int_t entry);
   Int_t  LoadTree(Int_t entry);
   void   Init(TTree *tree);
   void   Loop();
   Bool_t Notify();
   void   Show(Int_t entry = -1);
};

#endif

#ifdef Higgs_cxx
Higgs::Higgs(TTree *tree)
{
// if parameter tree is not specified (or zero), connect the file
// used to generate this class and read the Tree.
   if (tree == 0) {

#ifdef SINGLE_TREE
      // The following code should be used if you want this class to access
      // a single tree instead of a chain
      TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("Memory Directory");
      if (!f) {
         f = new TFile("Memory Directory");
         f->cd("Rint:/");
      }
      tree = (TTree*)gDirectory->Get("h101");

#else // SINGLE_TREE

      // The following code should be used if you want this class to access a chain
      // of trees.
      TChain * chain = new TChain("h101","");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1000.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_10000.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1001.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1002.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1003.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1004.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1005.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1006.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1007.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1008.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1009.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1010.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1011.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1012.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1013.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1014.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1015.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1016.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1017.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1018.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1019.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1020.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1021.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1022.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1023.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1024.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1025.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1026.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1027.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1028.root/h101");
      chain->Add("dcap:/pnfs/cms/WAX/2/wenzel/newtutorial/h300eemm/rootfiles/h300eemm_1029.root/h101");
      tree = chain;
#endif // SINGLE_TREE

   }
   Init(tree);
}

Higgs::~Higgs()
{
   if (!fChain) return;
   delete fChain->GetCurrentFile();
}

Int_t Higgs::GetEntry(Int_t entry)
{
// Read contents of entry.
   if (!fChain) return 0;
   return fChain->GetEntry(entry);
}
Int_t Higgs::LoadTree(Int_t entry)
{
// Set the environment to read one entry
   if (!fChain) return -5;
   Int_t centry = fChain->LoadTree(entry);
   if (centry < 0) return centry;
   if (fChain->IsA() != TChain::Class()) return centry;
   TChain *chain = (TChain*)fChain;
   if (chain->GetTreeNumber() != fCurrent) {
      fCurrent = chain->GetTreeNumber();
      Notify();
   }
   return centry;
}

void Higgs::Init(TTree *tree)
{
//   Set branch addresses
   if (tree == 0) return;
   fChain    = tree;
   fCurrent = -1;
   fChain->SetMakeClass(1);

   fChain->SetBranchAddress("Nevhep",&Nevhep);
   fChain->SetBranchAddress("Nhep",&Nhep);
   fChain->SetBranchAddress("Idhep",Idhep);
   fChain->SetBranchAddress("Jsmhep",Jsmhep);
   fChain->SetBranchAddress("Jsdhep",Jsdhep);
   fChain->SetBranchAddress("Phep",Phep);
   fChain->SetBranchAddress("Vhep",Vhep);
   fChain->SetBranchAddress("Irun",&Irun);
   fChain->SetBranchAddress("Ievt",&Ievt);
   fChain->SetBranchAddress("Weight",&Weight);
   fChain->SetBranchAddress("Xsecn",&Xsecn);
   fChain->SetBranchAddress("Ifilter",&Ifilter);
   fChain->SetBranchAddress("Nparam",&Nparam);
   fChain->SetBranchAddress("Param",Param);
   Notify();
}

Bool_t Higgs::Notify()
{
   // Called when loading a new file.
   // Get branch pointers.
   b_Nevhep = fChain->GetBranch("Nevhep");
   b_Nhep = fChain->GetBranch("Nhep");
   b_Idhep = fChain->GetBranch("Idhep");
   b_Jsmhep = fChain->GetBranch("Jsmhep");
   b_Jsdhep = fChain->GetBranch("Jsdhep");
   b_Phep = fChain->GetBranch("Phep");
   b_Vhep = fChain->GetBranch("Vhep");
   b_Irun = fChain->GetBranch("Irun");
   b_Ievt = fChain->GetBranch("Ievt");
   b_Weight = fChain->GetBranch("Weight");
   b_Xsecn = fChain->GetBranch("Xsecn");
   b_Ifilter = fChain->GetBranch("Ifilter");
   b_Nparam = fChain->GetBranch("Nparam");
   b_Param = fChain->GetBranch("Param");
   return kTRUE;
}

void Higgs::Show(Int_t entry)
{
// Print contents of entry.
// If entry is not specified, print current entry
   if (!fChain) return;
   fChain->Show(entry);
}
Int_t Higgs::Cut(Int_t entry)
{
// This function may be called from Loop.
// returns  1 if entry is accepted.
// returns -1 otherwise.
   return 1;
}
#endif // #ifdef Higgs_cxx

