Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-12 23:04:09

0001 
0002 #ifndef usercode_PrimaryVertexAnalyzer_VertexTimeAlgorithmFromTracksPID_h
0003 #define usercode_PrimaryVertexAnalyzer_VertexTimeAlgorithmFromTracksPID_h
0004 
0005 #include "VertexTimeAlgorithmBase.h"
0006 
0007 #include "FWCore/Utilities/interface/EDGetToken.h"
0008 #include "DataFormats/Common/interface/ValueMap.h"
0009 
0010 class VertexTimeAlgorithmFromTracksPID : public VertexTimeAlgorithmBase {
0011 public:
0012   VertexTimeAlgorithmFromTracksPID(const edm::ParameterSet& conf, edm::ConsumesCollector& iC);
0013   ~VertexTimeAlgorithmFromTracksPID() override = default;
0014 
0015   static void fillPSetDescription(edm::ParameterSetDescription& iDesc);
0016 
0017   void setEvent(edm::Event& iEvent, edm::EventSetup const& iSetup) override;
0018 
0019   bool vertexTime(float& vtxTime, float& vtxTimeError, TransientVertex const& vtx) const override;
0020 
0021 protected:
0022   struct TrackInfo {
0023     double trkWeight;
0024     double trkTimeErrorHyp[3];
0025     double trkTimeHyp[3];
0026   };
0027 
0028   edm::EDGetTokenT<edm::ValueMap<float>> const trackMTDTimeToken_;
0029   edm::EDGetTokenT<edm::ValueMap<float>> const trackMTDTimeErrorToken_;
0030   edm::EDGetTokenT<edm::ValueMap<float>> const trackMTDTimeQualityToken_;
0031   edm::EDGetTokenT<edm::ValueMap<float>> const trackMTDTofPiToken_;
0032   edm::EDGetTokenT<edm::ValueMap<float>> const trackMTDTofKToken_;
0033   edm::EDGetTokenT<edm::ValueMap<float>> const trackMTDTofPToken_;
0034   edm::EDGetTokenT<edm::ValueMap<float>> const trackMTDSigmaTofPiToken_;
0035   edm::EDGetTokenT<edm::ValueMap<float>> const trackMTDSigmaTofKToken_;
0036   edm::EDGetTokenT<edm::ValueMap<float>> const trackMTDSigmaTofPToken_;
0037 
0038   double const minTrackVtxWeight_;
0039   double const minTrackTimeQuality_;
0040   double const probPion_;
0041   double const probKaon_;
0042   double const probProton_;
0043   double const Tstart_;
0044   double const coolingFactor_;
0045 
0046   edm::ValueMap<float> trackMTDTimes_;
0047   edm::ValueMap<float> trackMTDTimeErrors_;
0048   edm::ValueMap<float> trackMTDTimeQualities_;
0049   edm::ValueMap<float> trackMTDTofPi_;
0050   edm::ValueMap<float> trackMTDTofK_;
0051   edm::ValueMap<float> trackMTDTofP_;
0052   edm::ValueMap<float> trackMTDSigmaTofPi_;
0053   edm::ValueMap<float> trackMTDSigmaTofK_;
0054   edm::ValueMap<float> trackMTDSigmaTofP_;
0055 };
0056 
0057 #endif