|
28 | 28 |
|
29 | 29 | #include <CCDB/BasicCCDBManager.h> |
30 | 30 | #include <CCDB/CcdbApi.h> |
| 31 | +#include <DataFormatsITSMFT/DPLAlpideParam.h> |
| 32 | +#include <DataFormatsParameters/AggregatedRunInfo.h> |
31 | 33 | #include <DataFormatsParameters/GRPMagField.h> |
32 | 34 | #include <DetectorsBase/GeometryManager.h> |
33 | 35 | #include <DetectorsBase/MatLayerCylSet.h> |
@@ -297,6 +299,12 @@ struct AnalysisEventSelection { |
297 | 299 | Configurable<std::string> fConfigAddEventMCHistogram{"cfgAddEventMCHistogram", "generator", "Comma separated list of histograms"}; |
298 | 300 | Configurable<std::string> fConfigAddJSONHistograms{"cfgAddJSONHistograms", "", "Add event histograms defined via JSON formatting (see HistogramsLibrary)"}; |
299 | 301 |
|
| 302 | + Configurable<int> fConfigITSROFrameStartBorderMargin{"cfgITSROFrameStartBorderMargin", -1, "Number of bcs at the start of ITS RO Frame border. Take from CCDB if -1"}; |
| 303 | + Configurable<int> fConfigITSROFrameEndBorderMargin{"cfgITSROFrameEndBorderMargin", -1, "Number of bcs at the end of ITS RO Frame border. Take from CCDB if -1"}; |
| 304 | + Configurable<int> fConfigTFStartBorderMargin{"cfgTFStartBorderMargin", -1, "Number of bcs at the start of TF border. Take from CCDB if -1"}; |
| 305 | + Configurable<int> fConfigTFEndBorderMargin{"cfgTFEndBorderMargin", -1, "Number of bcs at the end of TF border. Take from CCDB if -1"}; |
| 306 | + Configurable<int> fConfigNumberOfOrbitsPerTF{"cfgNumberOfOrbitsPerTF", -1, "Number of orbits per Time Frame. Take from CCDB if -1"}; |
| 307 | + |
300 | 308 | Configurable<float> fConfigSplitCollisionsDeltaZ{"splitCollisionsDeltaZ", 1.0, "maximum delta-z (cm) between two collisions to consider them as split candidates"}; |
301 | 309 | Configurable<unsigned int> fConfigSplitCollisionsDeltaBC{"splitCollisionsDeltaBC", 100, "maximum delta-BC between two collisions to consider them as split candidates; do not apply if value is negative"}; |
302 | 310 | Configurable<bool> fConfigCheckSplitCollisions{"checkSplitCollisions", false, "If true, run the split collision check and fill histograms"}; |
@@ -383,6 +391,21 @@ struct AnalysisEventSelection { |
383 | 391 | uint64_t sor = std::atol(fHeader["SOR"].c_str()); |
384 | 392 | uint64_t eor = std::atol(fHeader["EOR"].c_str()); |
385 | 393 | VarManager::SetSORandEOR(sor, eor); |
| 394 | + |
| 395 | + auto alppar = fCCDB->getForTimeStamp<o2::itsmft::DPLAlpideParam<0>>("ITS/Config/AlpideParam", events.begin().timestamp()); |
| 396 | + EventSelectionParams* par = fCCDB->getForTimeStamp<EventSelectionParams>("EventSelection/EventSelectionParams", events.begin().timestamp()); |
| 397 | + int itsROFrameStartBorderMargin = fConfigITSROFrameStartBorderMargin < 0 ? par->fITSROFrameStartBorderMargin : fConfigITSROFrameStartBorderMargin; |
| 398 | + int itsROFrameEndBorderMargin = fConfigITSROFrameEndBorderMargin < 0 ? par->fITSROFrameEndBorderMargin : fConfigITSROFrameEndBorderMargin; |
| 399 | + VarManager::SetITSROFBorderselection(alppar->roFrameBiasInBC, alppar->roFrameLengthInBC, itsROFrameStartBorderMargin, itsROFrameEndBorderMargin); |
| 400 | + |
| 401 | + int timeFrameStartBorderMargin = fConfigTFStartBorderMargin < 0 ? par->fTimeFrameStartBorderMargin : fConfigTFStartBorderMargin; |
| 402 | + int timeFrameEndBorderMargin = fConfigTFEndBorderMargin < 0 ? par->fTimeFrameEndBorderMargin : fConfigTFEndBorderMargin; |
| 403 | + auto runInfo = o2::parameters::AggregatedRunInfo::buildAggregatedRunInfo(o2::ccdb::BasicCCDBManager::instance(), events.begin().runNumber()); |
| 404 | + int64_t bcSOR = runInfo.orbitSOR * o2::constants::lhc::LHCMaxBunches; |
| 405 | + int64_t nBCsPerTF = fConfigNumberOfOrbitsPerTF < 0 ? runInfo.orbitsPerTF * o2::constants::lhc::LHCMaxBunches : fConfigNumberOfOrbitsPerTF * o2::constants::lhc::LHCMaxBunches; |
| 406 | + VarManager::SetTFBorderselection(bcSOR, nBCsPerTF, timeFrameStartBorderMargin, timeFrameEndBorderMargin); |
| 407 | + |
| 408 | + fCurrentRun = events.begin().runNumber(); |
386 | 409 | } |
387 | 410 |
|
388 | 411 | fSelMap.clear(); |
|
0 commit comments