Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:05:32

0001 #ifndef __OniaAddV0TracksProducer_h_
0002 #define __OniaAddV0TracksProducer_h_
0003 
0004 #include "FWCore/Framework/interface/Frameworkfwd.h"
0005 #include "FWCore/Framework/interface/global/EDProducer.h"
0006 #include "FWCore/Framework/interface/Event.h"
0007 #include "FWCore/Framework/interface/ConsumesCollector.h"
0008 #include "FWCore/Utilities/interface/InputTag.h"
0009 
0010 #include "FWCore/Framework/interface/MakerMacros.h"
0011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0012 
0013 #include "DataFormats/Candidate/interface/VertexCompositeCandidate.h"
0014 
0015 #include <vector>
0016 #include <atomic>
0017 
0018 /**
0019    Add tracks from V0
0020 
0021  */
0022 
0023 class OniaAddV0TracksProducer : public edm::global::EDProducer<> {
0024 public:
0025   explicit OniaAddV0TracksProducer(const edm::ParameterSet& ps);
0026 
0027 private:
0028   void produce(edm::StreamID, edm::Event& event, const edm::EventSetup& esetup) const override;
0029   void endJob() override;
0030 
0031   edm::EDGetTokenT<reco::VertexCompositeCandidateCollection> LambdaCollectionToken_;
0032   edm::EDGetTokenT<reco::VertexCompositeCandidateCollection> KShortCollectionToken_;
0033 
0034   mutable std::atomic<int> events_v0;
0035   mutable std::atomic<int> total_v0;
0036   mutable std::atomic<int> total_lambda;
0037   mutable std::atomic<int> total_kshort;
0038 };
0039 
0040 #endif