|
| HcalForwardLibWriter (const edm::ParameterSet &) |
|
| ~HcalForwardLibWriter () override |
|
| EDAnalyzer ()=default |
|
| EDAnalyzer (const EDAnalyzer &)=delete |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () final |
|
SerialTaskQueue * | globalRunsQueue () final |
|
const EDAnalyzer & | operator= (const EDAnalyzer &)=delete |
|
bool | wantsGlobalLuminosityBlocks () const noexcept final |
|
bool | wantsGlobalRuns () const noexcept final |
|
bool | wantsInputProcessBlocks () const noexcept final |
|
bool | wantsProcessBlocks () const noexcept final |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
| EDAnalyzerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
bool | wantsStreamLuminosityBlocks () const noexcept |
|
bool | wantsStreamRuns () const noexcept |
|
| ~EDAnalyzerBase () override |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
ESResolverIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
std::vector< ESResolverIndex > const & | esGetTokenIndicesVector (edm::Transition iTrans) const |
|
std::vector< ESRecordIndex > const & | esGetTokenRecordIndicesVector (edm::Transition iTrans) const |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
void | selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase) |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProductResolverIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
typedef EDAnalyzerBase | ModuleType |
|
typedef ProductLabels | Labels |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
template<BranchType B = InEvent> |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
|
ConsumesCollector | consumesCollector () |
| Use a ConsumesCollector to gather consumes information from helper functions. More...
|
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes () |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
template<Transition Tr = Transition::Event> |
constexpr auto | esConsumes () |
|
template<Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag tag) |
|
template<Transition Tr = Transition::Event> |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
| Used with EventSetupRecord::doGet. More...
|
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
void | resetItemsToGetFrom (BranchType iType) |
|
Definition at line 24 of file HcalForwardLibWriter.cc.
Implements edm::one::EDAnalyzerBase.
Definition at line 107 of file HcalForwardLibWriter.cc.
References emBranch, emColl, personalPlayback::fn, hadBranch, hadColl, mps_fire::i, caHitNtupletGeneratorKernels::iev, createfilelist::int, LibTree, dqmiodumpmetadata::n, nbins, nshowers, partsEm, partsHad, findQualityFiles::size, AlCaHLTBitMon_QueryRunRegistry::string, submitPVValidationJobs::t, theFile, theFileHandle, theTree, x, y, and z.
109 std::vector<double> en;
110 double momBin[16] = {2, 3, 5, 7, 10, 15, 20, 30, 50, 75, 100, 150, 250, 350, 500, 1000};
113 en.push_back(momBin[
i]);
121 for (
int i = 0;
i <
n; ++
i) {
127 TFile*
theFile =
new TFile(
fn.c_str(),
"READ");
128 TTree*
theTree = (TTree*)gDirectory->Get(
"g4SimHits/CherenkovPhotons");
131 const int size = 10000;
133 edm::LogError(
"HcalForwardLibWriter") <<
"Too big Nshowers number";
137 float x[
size] = {0.};
138 float y[
size] = {0.};
139 float z[
size] = {0.};
140 float t[
size] = {0.};
141 float lambda[
size] = {0.};
142 int fiberId[
size] = {0};
145 theTree->SetBranchAddress(
"nphot", &nphot);
150 theTree->SetBranchAddress(
"lambda", &lambda);
151 theTree->SetBranchAddress(
"fiberId", &fiberId);
152 theTree->SetBranchAddress(
"primZ", &primZ);
156 for (
int iev = 0;
iev < nentries;
iev++) {
162 unsigned int nph = nphot;
163 if (particle ==
"electron") {
173 for (
int iph = 0; iph < nphot; ++iph) {
174 if (fiberId[iph] != 1) {
178 if (particle ==
"electron") {
179 (*partsEm)[iph] = (
x[iph]);
180 (*partsEm)[iph + 1 * nph] = (
y[iph]);
181 (*partsEm)[iph + 2 * nph] = (
z[iph]);
182 (*partsEm)[iph + 3 * nph] = (
t[iph]);
183 (*partsEm)[iph + 4 * nph] = (lambda[iph]);
185 (*partsHad)[iph] = (
x[iph]);
186 (*partsHad)[iph + 1 * nph] = (
y[iph]);
187 (*partsHad)[iph + 2 * nph] = (
z[iph]);
188 (*partsHad)[iph + 3 * nph] = (
t[iph]);
189 (*partsHad)[iph + 4 * nph] = (lambda[iph]);
194 if (particle ==
"electron") {
TkSoAView< TrackerTraits > HitToTuple< TrackerTraits > const *__restrict__ int32_t int32_t int iev
Log< level::Error, false > LogError
std::vector< float > * partsEm
std::vector< float > * partsHad
std::vector< FileHandle > theFileHandle
HFShowerPhotonCollection hadColl
HFShowerPhotonCollection emColl