11 #include "HepPDT/ParticleID.hh"
48 virtual void endJob()
override;
52 typedef std::vector<int>
vint;
138 hits =
new TH1F(name.c_str(), title.c_str(), 19, -0.5, 18.5);
142 chi2 =
new TH1F(name.c_str(), title.c_str(), 100, 0., 30.);
146 pixelhits =
new TH1F(name.c_str(), title.c_str(), 21, -0.5, 20.5);
150 pt_1gev =
new TH1F(name.c_str(), title.c_str(), 100, 0., 2.);
154 tip =
new TH1F(name.c_str(), title.c_str(), 100, -0.3, 0.3);
158 lip =
new TH1F(name.c_str(), title.c_str(), 100, -1., 1.);
162 ips =
new TH1F(name.c_str(), title.c_str(), 100, -25.0, 25.0);
166 sdl =
new TH1F(name.c_str(), title.c_str(), 100, -5., 5.);
170 dta =
new TH1F(name.c_str(), title.c_str(), 100, 0.0, 0.2);
242 std::transform(trackQualityType.begin(), trackQualityType.end(), trackQualityType.begin(), (int(*)(int)) std::tolower);
243 if (trackQualityType ==
"any")
278 primaryVertexCollection,
300 for (std::size_t
i=0;
i<6;
i++)
341 if (primaryVertexProducer_->size() != 0)
344 std::vector<reco::Vertex> sortedList = pvs.
sortedList(*(primaryVertexProducer_.
product()));
345 pv = (sortedList.front());
351 e(0,0)=0.0015*0.0015;
352 e(1,1)=0.0015*0.0015;
362 for (; it != jetTracksAssociation->end(); it++, i++)
368 GlobalVector direction(jetTracks->first->px(), jetTracks->first->py(), jetTracks->first->pz());
376 double pt = tracks[
index]->pt();
377 double chi2 = tracks[
index]->normalizedChi2();
378 int hits = tracks[
index]->hitPattern().numberOfValidHits();
379 int pixelHits = tracks[
index]->hitPattern().numberOfValidPixelHits();
394 double dz = tracks[
index]->dz() - pvZ;
T getUntrackedParameter(std::string const &, T const &) const
histogram_element_t(double d, double a, double t, double l, double i, double p, double c, std::size_t h, std::size_t x)
std::vector< std::vector< histogram_element_t > > histogram_data_t
double maximumChiSquared_
transient_vector_type::const_iterator const_iterator
TrackQuality
track quality
#define DEFINE_FWK_MODULE(type)
reco::TrackBase::TrackQuality trackQuality_
void LoopOverJetTracksAssociation(const edm::ESHandle< TransientTrackBuilder > &, const edm::Handle< reco::VertexCollection > &, const edm::Handle< reco::JetTracksAssociationCollection > &)
reco::TransientTrack build(const reco::Track *p) const
std::vector< reco::Vertex > sortedList(const reco::VertexCollection &primaryVertex) const
virtual void endJob() override
math::Error< dimension >::type Error
covariance error matrix (3x3)
TrackClassifier classifier_
histogram_element_t(const histogram_element_t &orig)
TrackClassifier const & evaluate(reco::TrackBaseRef const &)
Classify the RecoTrack in categories.
histogram_t(const std::string &particleType)
int minimumNumberOfPixelHits_
double z() const
y coordinate
virtual void analyze(const edm::Event &, const edm::EventSetup &) override
math::XYZPoint Point
point in the space
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
void newEvent(edm::Event const &, edm::EventSetup const &)
Pre-process event information (for accessing reconstraction information)
edm::InputTag trackProducer_
bool is(Category category) const
Returns track flag for a given category.
std::vector< std::string > vstring
Get track history and classify it in function of their .
static TrackQuality qualityByName(const std::string &name)
T const * product() const
T const * product() const
void Fill(const histogram_element_t &data)
virtual void beginJob() override
QualityCutsAnalyzer(const edm::ParameterSet &)
double minimumTransverseMomentum_
edm::InputTag primaryVertexProducer_
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
histogram_data_t histogram_data_
edm::InputTag jetTracksAssociation_