| 1 | Delphes' module system is inspired by the 'Folders and Tasks' chapter from the ROOT Users Guide and it's based on the {{{TTask}}} and {{{TFolder}}} classes. |
| 2 | |
| 3 | http://root.cern.ch/download/doc/ROOTUsersGuideHTML/ch10.html |
| 4 | |
| 5 | All Delphes' modules consume and produce {{{TObjArrays}}} of {{{ExRootCandidates}}}. Every Delphes' module has a corresponding {{{TFolder}}} that is used to store {{{TObjArrays}}} produced by this module. Any Delphes' module can access {{{TObjArrays}}} produced by other Delphes' module using {{{ImportArray("ModuleInstanceName/arraName")}}} method. |
| 6 | |
| 7 | The contents of all Delphes' {{{TFolders}}} and {{{TObjArrays}}} is browsable: |
| 8 | |
| 9 | Additional classes {{{ExRootTask}}} and {{{ExRootModule}}} has been developed to provide frequently used services for Delphes. All Delphes' modules inherit from {{{ExRootModule}}}. |
| 10 | |
| 11 | {{{ |
| 12 | #ifndef ExampleModule_h |
| 13 | #define ExampleModule_h |
| 14 | |
| 15 | #include "ExRootAnalysis/ExRootModule.h" |
| 16 | |
| 17 | #include <map> |
| 18 | #include <set> |
| 19 | #include <deque> |
| 20 | |
| 21 | class TArrayD; |
| 22 | class TObjArray; |
| 23 | class ExRootCandidate; |
| 24 | |
| 25 | class ExampleModule: public ExRootModule |
| 26 | { |
| 27 | public: |
| 28 | |
| 29 | ExampleModule(); |
| 30 | ~ExampleModule(); |
| 31 | |
| 32 | void Init(); |
| 33 | void Process(); |
| 34 | void Finish(); |
| 35 | |
| 36 | private: |
| 37 | |
| 38 | TIterator *fItInputArray; //! |
| 39 | |
| 40 | const TObjArray *fInputArray; //! |
| 41 | |
| 42 | TObjArray *fOutputArray; //! |
| 43 | |
| 44 | ClassDef(ExampleModule, 1) |
| 45 | }; |
| 46 | |
| 47 | #endif |
| 48 | }}} |