File indexing completed on 2024-04-06 11:58:21
0001 #ifndef _CSCL1TPPARAMETERSCONDITIONS_H
0002 #define _CSCL1TPPARAMETERSCONDITIONS_H
0003
0004 #include "FWCore/Framework/interface/ESHandle.h"
0005 #include "FWCore/Framework/interface/ESProducer.h"
0006 #include "FWCore/Framework/interface/Event.h"
0007 #include "FWCore/Framework/interface/EventSetup.h"
0008 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h"
0009 #include "FWCore/Framework/interface/Frameworkfwd.h"
0010 #include "FWCore/Framework/interface/MakerMacros.h"
0011 #include "FWCore/Framework/interface/SourceFactory.h"
0012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0013 #include <cmath>
0014 #include <memory>
0015
0016 #include "CondFormats/CSCObjects/interface/CSCL1TPParameters.h"
0017 #include "CondFormats/DataRecord/interface/CSCL1TPParametersRcd.h"
0018 #include <DataFormats/MuonDetId/interface/CSCDetId.h>
0019
0020 class CSCL1TPParametersConditions : public edm::ESProducer, public edm::EventSetupRecordIntervalFinder {
0021 public:
0022 CSCL1TPParametersConditions(const edm::ParameterSet &);
0023 ~CSCL1TPParametersConditions() override;
0024
0025 inline static CSCL1TPParameters *prefillCSCL1TPParameters();
0026
0027 typedef std::unique_ptr<CSCL1TPParameters> ReturnType;
0028
0029 ReturnType produceCSCL1TPParameters(const CSCL1TPParametersRcd &);
0030
0031 private:
0032
0033 void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &,
0034 const edm::IOVSyncValue &,
0035 edm::ValidityInterval &) override;
0036 CSCL1TPParameters *CSCl1TPParameters;
0037 };
0038
0039 #include <fstream>
0040 #include <iostream>
0041 #include <vector>
0042
0043
0044 inline CSCL1TPParameters *CSCL1TPParametersConditions::prefillCSCL1TPParameters() {
0045 CSCL1TPParameters *cnl1tp = new CSCL1TPParameters();
0046
0047 cnl1tp->setAlctFifoTbins(16);
0048 cnl1tp->setAlctFifoPretrig(10);
0049 cnl1tp->setAlctDriftDelay(2);
0050 cnl1tp->setAlctNplanesHitPretrig(3);
0051 cnl1tp->setAlctNplanesHitPattern(4);
0052 cnl1tp->setAlctNplanesHitAccelPretrig(3);
0053 cnl1tp->setAlctNplanesHitAccelPattern(4);
0054 cnl1tp->setAlctTrigMode(2);
0055 cnl1tp->setAlctAccelMode(0);
0056 cnl1tp->setAlctL1aWindowWidth(7);
0057
0058 cnl1tp->setClctFifoTbins(12);
0059 cnl1tp->setClctFifoPretrig(7);
0060 cnl1tp->setClctHitPersist(4);
0061 cnl1tp->setClctDriftDelay(2);
0062 cnl1tp->setClctNplanesHitPretrig(3);
0063 cnl1tp->setClctNplanesHitPattern(4);
0064 cnl1tp->setClctPidThreshPretrig(2);
0065 cnl1tp->setClctMinSeparation(10);
0066
0067 return cnl1tp;
0068 }
0069
0070 #endif