Is your feature request related to a problem? Please describe.
Current implementation of FairRunAna::Run() does not match the description.
What we have now in FairRunAna is:
/**Run from event number NStart to event number NStop */
void Run(Int_t NStart = 0, Int_t NStop = 0) override;
/**Run for the given single entry*/
void Run(Long64_t entry);
Only the first function with NStart < NStop works as described.
The second function is never invoked, i.e. it is impossible to run single event this way.
Unexpected behavior:
Run(-1) - breaks in FairRunInfo::WriteInfo()
Run(0) - runs all input (100 events)
Run(15) - runs first 15 events
Run(-1,any int) - breaks in FairRunInfo::WriteInfo()
Run(15,-1) - runs from event 15 till the end
Run(15,0) - runs first 15 events
Run(15,15) - breaks in FairRunInfo::WriteInfo()
Run(15,16) - runs event number 15
Describe the solution you'd like
Fix the comments to match the behavior.
Change Run(Long64_t entry) to RunSingle(Long64_t entry)
Break properly in FairRunAna::Run() when first int parameter is negative.
Change the behavior of:
Run(15,0) - runs first 15 events
to:
Run(15,0) - run from event 15 till the end
Run(15,15) - breaks in FairRunInfo::WriteInfo()
to
Run(15,15) - run event number 15
Run(15,16) - runs event number 15
to
Run(15,16) - run event 15 and 16
Describe alternatives you've considered
Maybe RunEvent(Long64_t entry) is better than RunSingle(Long64_t entry)?
Maybe we should keep: Run(15,0) - run first 15 events, I really would like to hear your opinion.
Additional context
Is your feature request related to a problem? Please describe.
Current implementation of
FairRunAna::Run()does not match the description.What we have now in
FairRunAnais:Only the first function with NStart < NStop works as described.
The second function is never invoked, i.e. it is impossible to run single event this way.
Unexpected behavior:
Run(-1) - breaks in FairRunInfo::WriteInfo()
Run(0) - runs all input (100 events)
Run(15) - runs first 15 events
Run(-1,any int) - breaks in FairRunInfo::WriteInfo()
Run(15,-1) - runs from event 15 till the end
Run(15,0) - runs first 15 events
Run(15,15) - breaks in FairRunInfo::WriteInfo()
Run(15,16) - runs event number 15
Describe the solution you'd like
Fix the comments to match the behavior.
Change
Run(Long64_t entry)toRunSingle(Long64_t entry)Break properly in
FairRunAna::Run()when firstintparameter isnegative.Change the behavior of:
Run(15,0) - runs first 15 events
to:
Run(15,0) - run from event 15 till the end
Run(15,15) - breaks in FairRunInfo::WriteInfo()
to
Run(15,15) - run event number 15
Run(15,16) - runs event number 15
to
Run(15,16) - run event 15 and 16
Describe alternatives you've considered
Maybe
RunEvent(Long64_t entry)is better thanRunSingle(Long64_t entry)?Maybe we should keep: Run(15,0) - run first 15 events, I really would like to hear your opinion.
Additional context