12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #ifndef ANALYSISTREE_EXAMPLES_USERTASKWRITE_HPP_
- #define ANALYSISTREE_EXAMPLES_USERTASKWRITE_HPP_
- #include <Branch.hpp>
- #include <Detector.hpp>
- #include <Task.hpp>
- #include <TDatabasePDG.h>
- #include <TParticlePDG.h>
- class UserTaskWrite : public AnalysisTree::Task {
- public:
- UserTaskWrite() = default;
- ~UserTaskWrite() override;
- void Init() override;
- void Exec() override;
- void Finish() override {
- }
- private:
- // Input and output branches
- AnalysisTree::Branch reco_evt_;
- AnalysisTree::Branch new_reco_evt_;
- AnalysisTree::Branch mc_evt_;
- AnalysisTree::Branch particles_;
- AnalysisTree::Branch new_particles_;
- AnalysisTree::Branch tracks_;
- AnalysisTree::Branch new_tracks_;
- // Branch pointers for output branches - make sure to delete them in the destructor
- AnalysisTree::EventHeader* new_reco_evt_ptr_{nullptr};
- AnalysisTree::Particles* new_particles_ptr_{nullptr};
- AnalysisTree::Track* new_tracks_ptr_{nullptr};
- AnalysisTree::Matching* match_{nullptr};
- // Additional user functions
- bool IsCharged(Int_t pdg);
- float GetRapidityPDG(Float_t p, Float_t pz, Int_t pdg);
- float GetBCent(Float_t bimp);
- };
- #endif//ANALYSISTREE_EXAMPLES_USERTASKWRITE_HPP_
|