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. http://root.cern.ch/download/doc/ROOTUsersGuideHTML/ch10.html 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. The contents of all Delphes' {{{TFolders}}} and {{{TObjArrays}}} is browsable. All the modules are accessible from the '/Delphes' folder and all the {{{TObjArrays}}} are accessible from the '/Export' folder. [[Image(delphes_folders.png)]] Additional classes {{{ExRootTask}}} and {{{ExRootModule}}} has been developed to provide frequently used services for Delphes. All Delphes' modules inherit from {{{ExRootModule}}}. {{{ #ifndef ExampleModule_h #define ExampleModule_h #include "ExRootAnalysis/ExRootModule.h" #include #include #include class TArrayD; class TObjArray; class ExRootCandidate; class ExampleModule: public ExRootModule { public: ExampleModule(); ~ExampleModule(); void Init(); void Process(); void Finish(); private: TIterator *fItInputArray; //! const TObjArray *fInputArray; //! TObjArray *fOutputArray; //! ClassDef(ExampleModule, 1) }; #endif }}}