44 edm::LogWarning(
"DeDxDiscriminatorLearner") <<
"Pixel Hits AND Strip Hits will not be used to estimate dEdx --> BUG, Please Update the config file";
75 Charge_Vs_Path =
new TH3F (
"Charge_Vs_Path" ,
"Charge_Vs_Path" ,
P_NBins,
P_Min,
P_Max,
Path_NBins,
Path_Min,
Path_Max,
Charge_NBins,
Charge_Min,
Charge_Max);
82 vector<GeomDet*>
Det = tkGeom->dets();
83 for(
unsigned int i=0;
i<Det.size();
i++){
84 DetId Detid = Det[
i]->geographicalId();
94 unsigned int NAPV = Topo.
nstrips()/128;
118 if( strcmp(
algoMode.c_str(),
"MultiJob")==0){
123 }
else if( strcmp(
algoMode.c_str(),
"WriteOnDB")==0){
125 Charge_Vs_Path = (TH3F*)(Input->FindObjectAny(
"Charge_Vs_Path"))->Clone();
146 unsigned track_index = 0;
149 const Track track = *it->val;
156 vector<TrajectoryMeasurement> measurements = traj.
measurements();
157 for(vector<TrajectoryMeasurement>::const_iterator measurement_it = measurements.begin(); measurement_it!=measurements.end(); measurement_it++)
160 if( !trajState.
isValid() )
continue;
163 const SiStripRecHit2D* sistripsimplehit =
dynamic_cast<const SiStripRecHit2D*
>(hit);
164 const SiStripMatchedRecHit2D* sistripmatchedhit =
dynamic_cast<const SiStripMatchedRecHit2D*
>(hit);
165 const SiStripRecHit1D* sistripsimple1dhit =
dynamic_cast<const SiStripRecHit1D*
>(hit);
167 if(sistripsimplehit){
168 Learn((sistripsimplehit->cluster()).
get(), trajState);
169 }
else if(sistripmatchedhit){
170 Learn(&sistripmatchedhit->monoCluster(),trajState);
171 Learn(&sistripmatchedhit->stereoCluster(),trajState);
172 }
else if(sistripsimple1dhit){
173 Learn((sistripsimple1dhit->cluster()).
get(), trajState);
187 double cosine = trackDirection.
z()/trackDirection.
mag();
188 const vector<uint8_t>& ampls = cluster->
amplitudes();
double p() const
momentum vector magnitude
T getParameter(std::string const &) const
virtual int nstrips() const =0
T getUntrackedParameter(std::string const &, T const &) const
friend struct const_iterator
const_iterator end() const
last iterator over the map (read only)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
LocalVector localDirection() const
const TrackerGeometry * m_tracker
const Bounds & bounds() const
uint16_t firstStrip() const
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
const Plane & surface() const
The nominal surface of the GeomDet.
void Learn(const SiStripCluster *cluster, TrajectoryStateOnSurface trajState)
uint32_t geographicalId() const
uint32_t rawId() const
get the raw id
LocalVector localMomentum() const
virtual float thickness() const =0
DataContainer const & measurements() const
const Surface::PositionType & position() const
The position (origin of the R.F.)
double eta() const
pseudorapidity of momentum vector
virtual void algoBeginJob(const edm::EventSetup &)
unsigned int MinTrackHits
virtual void algoAnalyze(const edm::Event &, const edm::EventSetup &)
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
virtual void algoEndJob()
__gnu_cxx::hash_map< unsigned int, stModInfo *, __gnu_cxx::hash< unsigned int >, isEqual > MODsColl
T const * product() const
T const * product() const
virtual const GeomDetUnit * idToDetUnit(DetId) const
Return the pointer to the GeomDetUnit corresponding to a given DetId.
~DeDxDiscriminatorLearner()
unsigned short found() const
Number of valid hits on track.
T transverse() const
Another name for perp()
edm::EDGetTokenT< TrajTrackAssociationCollection > m_trajTrackAssociationTag
const_iterator begin() const
first iterator over the map (read only)
edm::EDGetTokenT< reco::TrackCollection > m_tracksTag
const BasicVectorType & basicVector() const
const std::vector< uint8_t > & amplitudes() const
PhysicsTools::Calibration::HistogramD3D * getNewObject()
DeDxDiscriminatorLearner(const edm::ParameterSet &)