////////////////////////////////////////////////////////// // This class has been automatically generated on // Fri May 29 10:04:35 2020 by ROOT version 6.20/00 // from TTree TreeMaster/TreeMaster // found on file: Track_AGATA_Only_1MEvent_0.5MeVThread00.root ////////////////////////////////////////////////////////// #ifndef MySelector_h #define MySelector_h #include #include #include #include #include #include #include #include #include #include #include #include #include #include // Headers needed by this particular selector class MySelector : public TSelector { public : TTreeReader fReader; //!the tree reader TTree *fChain = 0; //!pointer to the analyzed TTree or TChain TFile *fOutputFile = nullptr; TH1D *hCosThetaTheo = nullptr; TH1F *h_trackE = nullptr; // Readers to access the data (delete the ones you do not need). TTreeReaderValue nbHits = {fReader, "nbHits"}; TTreeReaderArray hitE = {fReader, "hitE"}; TTreeReaderArray hitX = {fReader, "hitX"}; TTreeReaderArray hitY = {fReader, "hitY"}; TTreeReaderArray hitZ = {fReader, "hitZ"}; TTreeReaderArray hitGX = {fReader, "hitGX"}; TTreeReaderArray hitGY = {fReader, "hitGY"}; TTreeReaderArray hitGZ = {fReader, "hitGZ"}; TTreeReaderArray hitId = {fReader, "hitId"}; TTreeReaderArray hitSg = {fReader, "hitSg"}; TTreeReaderValue nbCores = {fReader, "nbCores"}; TTreeReaderArray nbHitsperCry = {fReader, "nbHitsperCry"}; TTreeReaderArray coreId = {fReader, "coreId"}; TTreeReaderArray coreE0 = {fReader, "coreE0"}; TTreeReaderArray coreE1 = {fReader, "coreE1"}; TTreeReaderArray coreT0 = {fReader, "coreT0"}; TTreeReaderArray coreTS = {fReader, "coreTS"}; TTreeReaderValue nbAdd = {fReader, "nbAdd"}; TTreeReaderArray AddId = {fReader, "AddId"}; TTreeReaderArray AddE = {fReader, "AddE"}; TTreeReaderArray AddX = {fReader, "AddX"}; TTreeReaderArray AddY = {fReader, "AddY"}; TTreeReaderArray AddZ = {fReader, "AddZ"}; TTreeReaderArray AddTS = {fReader, "AddTS"}; TTreeReaderValue TSHit = {fReader, "TSHit"}; TTreeReaderValue nbTrack = {fReader, "nbTrack"}; TTreeReaderArray trackE = {fReader, "trackE"}; TTreeReaderArray trackX1 = {fReader, "trackX1"}; TTreeReaderArray trackY1 = {fReader, "trackY1"}; TTreeReaderArray trackZ1 = {fReader, "trackZ1"}; TTreeReaderArray trackX2 = {fReader, "trackX2"}; TTreeReaderArray trackY2 = {fReader, "trackY2"}; TTreeReaderArray trackZ2 = {fReader, "trackZ2"}; TTreeReaderArray trackType = {fReader, "trackType"}; TTreeReaderArray trackFOM = {fReader, "trackFOM"}; TTreeReaderArray trackT = {fReader, "trackT"}; TTreeReaderArray trackCrystalID = {fReader, "trackCrystalID"}; TTreeReaderValue TStrack = {fReader, "TStrack"}; static const int MaxSize = 50; std::array trackE1; std::array trackE2; MySelector(TTree * /*tree*/ =0) { } virtual ~MySelector() { } virtual Int_t Version() const { return 2; } virtual void Begin(TTree *tree); virtual void SlaveBegin(TTree *tree); virtual void Init(TTree *tree); virtual Bool_t Notify(); virtual Bool_t Process(Long64_t entry); virtual Int_t GetEntry(Long64_t entry, Int_t getall = 0) { return fChain ? fChain->GetTree()->GetEntry(entry, getall) : 0; } virtual void SetOption(const char *option) { fOption = option; } virtual void SetObject(TObject *obj) { fObject = obj; } virtual void SetInputList(TList *input) { fInput = input; } virtual TList *GetOutputList() const { return fOutput; } virtual void SlaveTerminate(); virtual void Terminate(); Double_t CalcCosTheta(Double_t X, Double_t Y, Double_t Z, TVector3 &T1, TVector3 &Int2); ClassDef(MySelector,0); }; #endif #ifdef MySelector_cxx void MySelector::Init(TTree *tree) { // The Init() function is called when the selector needs to initialize // a new tree or chain. Typically here the reader is initialized. // 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). fReader.SetTree(tree); } Bool_t MySelector::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; } #endif // #ifdef MySelector_cxx