Back to home page

Project CMSSW displayed by LXR

 
 

    


Warning, /FWCore/MessageService/doc/Activities.doc is written in an unsupported language. File is not indexed.

0001         The Signals That Services Can Subscribe To
0002         ------------------------------------------
0003         
0004 This is based on ActivityRegistry.h, and is current per Mar 18, 2009
0005 
0006     Services can connect to the signals distributed by the ActivityRegistry 
0007     in order to monitor the activity of the application.
0008     
0009     Each possible callback has some defined signature, which we here list in 
0010     angle brackets, e.g., <void, edm::EventID const&, edm::Timestamp const&>.
0011     We also list in braces which AR_WATCH_USING_METHOD_ is used for those
0012     callbacks {0}, {1}, or {2}.
0013 
0014                 <void>                                                                  {0}
0015 PostBeginJob            after all modules have gotten their beginJob called
0016 PostEndJob              after all modules have gotten their endJob called
0017 PreSource               before the source starts creating an Event
0018 PostSource              after the source starts creating an Event [sic]
0019 PreSourceLumi           before the source starts creating a Lumi
0020 PostSourceLumi          after the source starts creating a Lumi [sic]
0021 PreSourceRun            before the source starts creating a Run
0022 PostSourceRun           after the source starts creating a Run [sic]
0023 PreOpenFile             before the **source** opens a file
0024 PostOpenFile            after the **source** opens a file
0025 PreCloseFile            before the **source** closes a file
0026 PostCloseFile           after the **source** closes a file
0027 JobFailure              if event processing or end-of-job processing fails 
0028                         with an uncaught exception
0029 
0030                 <void, edm::EventID const&, edm::Timestamp const&>                      {2}
0031 PreProcessEvent         after the Event has been created by the InputSource 
0032                         but before any modules have seen the Event
0033 
0034                 <void, Event const&, EventSetup const&>                                 {2}
0035 PostProcessEvent        after all modules have finished processing the Event            
0036 
0037                 <void, edm::RunID const&, edm::Timestamp const&>                        {2}
0038 PreBeginRun             after the Run has been created by the InputSource 
0039                         but before any modules have seen the Run
0040 PreEndRun               before the endRun is processed
0041 
0042                 <void, Run const&, EventSetup const&>                                   {2}
0043 PostBeginRun            after all modules have finished processing the beginRun
0044 PostEndRun              after all modules have finished processing the Run
0045 
0046                 <void, edm::LuminosityBlockID const&, edm::Timestamp const&>            {2}
0047 PreBeginLumi            after the LuminosityBlock has been created by the InputSource 
0048                         but before any modules have seen the LuminosityBlock
0049 PreEndLumi              before the endLuminosityBlock is processed
0050 
0051                 <void, LuminosityBlock const&, EventSetup const&>                       {2}
0052 PostBeginLumi           after all modules have finished processing the beginLuminosityBlock
0053 PostEndLumi             after all modules have finished processing the LuminosityBlock
0054 
0055                 <void, std::string const&>                                              {1}             
0056 PreProcessPath          before starting to process a Path for an event
0057 PrePathBeginRun         before starting to process a Path for beginRun
0058 PrePathEndRun           before starting to process a Path for endRun
0059 PrePathBeginLumi                before starting to process a Path for beginLumi
0060 PrePathEndLumi          before starting to process a Path for endLumi
0061 
0062                 <void, std::string const&, HLTPathStatus const&>                        {1}
0063 PostProcessPath         after all modules have finished for the Path for an event
0064 PostPathBeginRun        after all modules have finished for the Path for beginRun
0065 PostPathEndRun          after all modules have finished for the Path for endRun
0066 PostPathBeginLumi       after all modules have finished for the Path for beginLumi
0067 PostPathEndLumi         after all modules have finished for the Path for endLumi
0068 
0069                 <void, ModuleDescription const&>                                        {1}
0070 PreModuleConstruction   before the module is constructed
0071 PostModuleConstruction  after the module was constructed
0072 PreModuleBeginJob       before the module does beginJob
0073 PostModuleBeginJob      after the module had done beginJob
0074 PreModuleEndJob         before the module does endJob
0075 PostModuleEndJob        after the module had done endJob        
0076 PreModule               before the module starts processing the Event
0077 PostModule              after the module finished processing the Event
0078 PreModuleBeginRun       before the module starts processing beginRun
0079 PostModuleBeginRun      after the module finished processing beginRun
0080 PreModuleEndRun         before the module starts processing endRun
0081 PostModuleEndRun        after the module finished processing endRun
0082 PreModuleBeginLumi      before the module starts processing beginLumi
0083 PostModuleBeginLumi     after the module finished processing beginLumi
0084 PreModuleEndLumi        before the module starts processing endLumi
0085 PostModuleEndLumi       after the module finished processing endLumi
0086 PreSourceConstruction   before the source is constructed
0087 PostSourceConstruction  after the source was constructed
0088 
0089 
0090 Assuming every module did things in every possible phase (which of course 
0091 is not realistic), the order of normal phases would be the following. 
0092 (Note - the relation between file opens and run/lumi assumed here, that 
0093 a Run contains possibly multiple Lumis and that a Lumi consists of possibly
0094 multiple files, may not be correct.)
0095 
0096                 
0097 PostBeginJob    
0098 PreSourceConstruction   
0099 PostSourceConstruction
0100   --- per module ---
0101   PreModuleConstruction
0102   PostModuleConstruction
0103   PreModuleBeginJob
0104   PostModuleBeginJob
0105   --- per run ---
0106   PreSourceRun
0107   PostSourceRun
0108   PreBeginRun
0109   PrePathBeginRun
0110     -- per module ---
0111     PreModuleBeginRun
0112     PostModuleBeginRun
0113   PostPathBeginRun
0114   PostBeginRun
0115     --- per Lumi ---
0116     PreSourceLumi
0117     PostSourceLumi
0118     PreBeginLumi 
0119     PrePathBeginLumi
0120        --- per module ---
0121        PreModuleBeginLumi
0122        PostModuleBeginLumi
0123     PostPathBeginLumi
0124     PostBeginLumi
0125       --- per file ---
0126       PreOpenFile
0127       PostOpenFile
0128         --- per event ---
0129         PreSource
0130         PostSource
0131         PreProcessEvent
0132         PreProcessPath
0133           --- per module ---
0134           PreModule
0135           PostModule
0136         PostProcessPath
0137         PostProcessEvent
0138       PreCloseFile
0139       PostCloseFile
0140     PreEndLumi
0141     PrePathEndLumi
0142       --- per module ---
0143       PreModuleEndLumi
0144       PostModuleEndLumi
0145     PostPathEndLumi
0146     PostEndLumi
0147   PreEndRun
0148   PrePathEndRun
0149     --- per module---
0150     PreModuleEndRun
0151     PostModuleEndRun
0152   PostPathEndRun
0153   PostEndRun
0154   --- per module ---
0155   PreModuleEndJob
0156   PostModuleEndJob
0157 PostEndJob              
0158 
0159