////////////////////////////////////////////////////////// // This class has been automatically generated on // Fri Mar 8 13:05:30 2019 by ROOT version 6.12/06 // from TTree EVENTDAT/FLUKA Course Exercise DATE: 3/ 4/19, TIME: 11:54:46 // found on file: jobs/runjob1001_eventdata.root ////////////////////////////////////////////////////////// #ifndef eventdatroot_h #define eventdatroot_h #include #include #include #include // Header file for the classes stored in the TTree if any. class eventdatroot { public : TTree *fChain; //!pointer to the analyzed TTree or TChain Int_t fCurrent; //!current Tree number in a TChain // Fixed size dimensions of array or collections stored in the TTree if any. // Declaration of leaf types Float_t DATA_ALL_PART[6]; Float_t DATA_BEAMPART[6]; Float_t DATA_ENERGY[6]; Float_t DATA_id211[6]; Int_t SEEDS[4]; Float_t ENDIST[12]; // List of branches TBranch *b_DATA; //! TBranch *b_seed; //! TBranch *b_endist; //! TH1F * h_endist_0; TH1F * h_endist_1; TH1F * h_endist_2; TH1F * h_endist_3; TH1F * h_endist_4; TH1F * h_endist_5; TH1F * h_endist_6; TH1F * h_endist_7; TH1F * h_endist_8; TH1F * h_endist_9; TH1F * h_endist_10; TH1F * h_endist_11; TH1F * h_ratio_e; TH1F * h_ratio_p; TH1F * h_sum_ep; TH1F * h_let_ep; TH1F * h_let_e; TH1F * h_let_p; TH1F * h_spratio; eventdatroot(TTree *tree=0); virtual ~eventdatroot(); virtual Int_t Cut(Long64_t entry); virtual Int_t GetEntry(Long64_t entry); virtual Long64_t LoadTree(Long64_t entry); virtual void Init(TTree *tree); virtual void Loop(Float_t scale); virtual Bool_t Notify(); virtual void Show(Long64_t entry = -1); virtual Int_t Closefile(TFile * file); }; #endif #ifdef eventdatroot_cxx eventdatroot::eventdatroot(TTree *tree) : fChain(0) { // if parameter tree is not specified (or zero), connect the file // used to generate this class and read the Tree. // if (tree == 0) { // TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("jobs/runjob1001_eventdata.root"); // if (!f || !f->IsOpen()) { // f = new TFile("jobs/runjob1001_eventdata.root"); // } // f->GetObject("EVENTDAT",tree); // } // Init(tree); } eventdatroot::~eventdatroot() { if (!fChain) return; delete fChain->GetCurrentFile(); } Int_t eventdatroot::GetEntry(Long64_t entry) { // Read contents of entry. if (!fChain) return 0; return fChain->GetEntry(entry); } Long64_t eventdatroot::LoadTree(Long64_t entry) { // Set the environment to read one entry if (!fChain) return -5; Long64_t centry = fChain->LoadTree(entry); if (centry < 0) return centry; if (fChain->GetTreeNumber() != fCurrent) { fCurrent = fChain->GetTreeNumber(); Notify(); } return centry; } void eventdatroot::Init(TTree *tree) { // The Init() function is called when the selector needs to initialize // a new tree or chain. Typically here the branch addresses and branch // pointers of the tree will be set. // It is normally not necessary to make changes to the generated // code, but the routine can be extended by the user if needed. // Init() will be called many times when running on PROOF // (once per file to be processed). // Set branch addresses and branch pointers if (!tree) return; fChain = tree; fCurrent = -1; fChain->SetMakeClass(1); fChain->SetBranchAddress("DATA", DATA_ALL_PART, &b_DATA); fChain->SetBranchAddress("SEEDS", SEEDS, &b_seed); fChain->SetBranchAddress("ENDIST", ENDIST, &b_endist); h_endist_0 = new TH1F("h_endist_0","edep by ionisation",400,0.0,0.1); h_endist_1 = new TH1F("h_endist_1","edep by pi0, e-, e+ and #gamma",400,0.0,0.06); h_endist_2 = new TH1F("h_endist_2","edep by nuclear recoils and heavy fragments",400,0.0,0.002); h_endist_3 = new TH1F("h_endist_3","edep by part. #lt threshold",200,0.0,0.002); h_endist_4 = new TH1F("h_endist_4","E leaving the system",200,0.0,1.1); h_endist_5 = new TH1F("h_endist_5","E carried by discarded particles",200,0.0,0.2); h_endist_6 = new TH1F("h_endist_6","resid, excit. E after evap.",200,0.0,0.2); h_endist_7 = new TH1F("h_endist_7","edep by low-energy neutrons",200,0.0,0.2); h_endist_8 = new TH1F("h_endist_8","E of part. #gt time limit",200,0.0,0.2); h_endist_9 = new TH1F("h_endist_9","E lost in endothermic nuclear reactions",200,0.0,0.2); h_endist_10 = new TH1F("h_endist_10","E lost in endothermic low-E n-reactions",200,0.0,0.2); h_endist_11 = new TH1F("h_endist_11","missing E",400,0.0,0.01); h_ratio_e = new TH1F("h_ratio_e","fraction of edep by pi0, e-, e+ and #gamma ",400,0.0,1.0); h_ratio_p = new TH1F("h_ratio_p","fraction of edep by ionisation",400,0.0,1.0); h_sum_ep = new TH1F("h_sum_ep","sum of edep by ion, pi0, e-, e+ and #gamma,",400,0.0,0.4); h_let_ep = new TH1F("h_let_ep","LET/Z^{2} (GeV/cm) by ion, pi0, e-, e+ and #gamma,",200,0.0,0.2); h_let_e = new TH1F("h_let_e","LET/Z^{2} (GeV/cm) by pi0, e-, e+ and #gamma,",200,0.0,0.1); h_let_p = new TH1F("h_let_p","LET/Z^{2} (GeV/cm) by ion",200,0.0,0.1); h_spratio = new TH1F("h_spratio","total LET/SP (MeV/cm/#rho)/SP(MeVcm2/g)",200,0.5,3.0); Notify(); } Bool_t eventdatroot::Notify() { // The Notify() function is called when a new file is opened. This // can be either for a new TTree in a TChain or when when a new TTree // is started when using PROOF. It is normally not necessary to make changes // to the generated code, but the routine can be extended by the // user if needed. The return value is currently not used. return kTRUE; } void eventdatroot::Show(Long64_t entry) { // Print contents of entry. // If entry is not specified, print current entry if (!fChain) return; fChain->Show(entry); } Int_t eventdatroot::Cut(Long64_t entry) { // This function may be called from Loop. // returns 1 if entry is accepted. // returns -1 otherwise. return 1; } Int_t eventdatroot::Closefile(TFile * file) { file->cd(); file->Write(); file->Close(); return 1; } #endif // #ifdef eventdatroot_cxx