1 #ifndef FastSimulation_CTPPSFastTrackingProducer_h 2 #define FastSimulation_CTPPSFastTrackingProducer_h 75 void ReconstructArm(H_RecRPObject* pps_station,
double x1,
double y1,
double x2,
double y2,
double& tx,
double& ty,
double& eloss);
76 void MatchCellId(
int cellId, std::vector<int> vrecCellId, std::vector<double> vrecTof,
bool&
match,
double& recTof);
77 bool SearchTrack(
int ,
int ,
int Direction,
double&
xi,
double&
t,
double& partP,
double&
pt,
double& thx,
double& thy,
78 double& x0,
double& y0,
double& xt,
double& yt,
double& X1d,
double& Y1d,
double& X2d,
double& Y2d);
81 void ProjectToToF(
const double x1,
const double y1,
const double x2,
const double y2,
double& xt,
double& yt) {
108 std::unique_ptr<CTPPSTrkDetector>
det1F;
109 std::unique_ptr<CTPPSTrkDetector>
det1B;
110 std::unique_ptr<CTPPSTrkDetector>
det2F;
111 std::unique_ptr<CTPPSTrkDetector>
det2B;
void beginStream(edm::StreamID) override
std::unique_ptr< CTPPSTrkDetector > det2B
~CTPPSFastTrackingProducer() override
std::unique_ptr< H_BeamLine > m_beamlineCTPPS1
virtual void endEvent(edm::Event &event, const edm::EventSetup &eventSetup)
void FastReco(int Direction, H_RecRPObject *station)
void ReconstructArm(H_RecRPObject *pps_station, double x1, double y1, double x2, double y2, double &tx, double &ty, double &eloss)
std::unique_ptr< H_RecRPObject > pps_stationB
std::unique_ptr< CTPPSToFDetector > detToF_F
double fCrossingAngleBeam2
void TrackerStationClear()
std::unique_ptr< CTPPSTrkDetector > det2F
void endStream() override
std::unique_ptr< H_RecRPObject > pps_stationF
std::vector< double > fToFCellWidth
std::vector< int > recCellId_F
CTPPSFastTrackingProducer(const edm::ParameterSet &)
std::unique_ptr< CTPPSTrkDetector > det1B
double fCrossingAngleBeam1
std::string beam1filename
virtual void beginEvent(edm::Event &event, const edm::EventSetup &eventSetup)
std::vector< double > recTof_F
std::unique_ptr< CTPPSTrkStation > TrkStation_B
std::unique_ptr< CTPPSToFDetector > detToF_B
std::vector< double > recTof_B
std::map< unsigned int, H_BeamParticle * > m_beamPart
std::vector< CTPPSFastRecHit > CTPPSFastRecHitContainer
void TrackerStationStarting()
std::unique_ptr< H_BeamLine > m_beamlineCTPPS2
std::string beam2filename
void ProjectToToF(const double x1, const double y1, const double x2, const double y2, double &xt, double &yt)
std::vector< int > recCellId_B
void MatchCellId(int cellId, std::vector< int > vrecCellId, std::vector< double > vrecTof, bool &match, double &recTof)
std::unique_ptr< CTPPSTrkStation > TrkStation_F
std::vector< CTPPSFastTrack > theCTPPSFastTrack
edm::EDGetTokenT< CTPPSFastRecHitContainer > _recHitToken
std::unique_ptr< CTPPSTrkDetector > det1F
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
void produce(edm::Event &, const edm::EventSetup &) override
void ReadRecHits(edm::Handle< CTPPSFastRecHitContainer > &)
bool SearchTrack(int, int, int Direction, double &xi, double &t, double &partP, double &pt, double &thx, double &thy, double &x0, double &y0, double &xt, double &yt, double &X1d, double &Y1d, double &X2d, double &Y2d)