Skip to content

Commit

Permalink
Merge pull request #4 from cms-sw/CMSSW_7_5_X
Browse files Browse the repository at this point in the history
PRToFixMess_RPCDigitizerForUpgrade75XPR_v4
  • Loading branch information
pietverwilligen committed Apr 21, 2015
2 parents 5021ecc + f4eceb6 commit f2d93ff
Show file tree
Hide file tree
Showing 46 changed files with 949 additions and 406 deletions.
1 change: 1 addition & 0 deletions Alignment/OfflineValidation/BuildFile.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
<use name="FWCore/ParameterSet"/>
<use name="FWCore/ServiceRegistry"/>
<use name="Geometry/TrackerGeometryBuilder"/>
<use name="TrackingTools/PatternTools"/>
<use name="TrackingTools/TrackFitters"/>
<use name="MagneticField/Engine"/>

Expand Down
26 changes: 16 additions & 10 deletions Alignment/OfflineValidation/interface/TrackerValidationVariables.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,19 @@
// system include files
#include <vector>

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Utilities/interface/EDGetToken.h"
#include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h"

class MagneticField;
class TrackerGeometry;
class Trajectory;

namespace edm {
class ConsumesCollector;
class Event;
class EventSetup;
class ParameterSet;
}

class TrackerValidationVariables
{
public:
Expand Down Expand Up @@ -69,20 +73,22 @@ class TrackerValidationVariables
};

TrackerValidationVariables();
TrackerValidationVariables(const edm::EventSetup&, const edm::ParameterSet&);
TrackerValidationVariables(const edm::ParameterSet& config,
edm::ConsumesCollector && iC);
~TrackerValidationVariables();

void fillHitQuantities(const Trajectory* trajectory, std::vector<AVHitStruct> & v_avhitout);
void fillTrackQuantities(const edm::Event&, std::vector<AVTrackStruct> & v_avtrackout);
void fillTrackQuantities(const edm::Event&,
const edm::EventSetup&,
std::vector<AVTrackStruct> & v_avtrackout);

// need the following method for MonitorTrackResiduals in DQM/TrackerMonitorTrack
void fillHitQuantities(const edm::Event&, std::vector<AVHitStruct> & v_avhitout);

private:

const edm::ParameterSet conf_;
edm::ESHandle<TrackerGeometry> tkGeom_;
edm::ESHandle<MagneticField> magneticField_;
edm::EDGetTokenT<std::vector<Trajectory> > trajCollectionToken_;
edm::EDGetTokenT<TrajTrackAssociationCollection> trajTracksToken_;
};

#endif
14 changes: 8 additions & 6 deletions Alignment/OfflineValidation/plugins/TrackerOfflineValidation.cc
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@

// user include files
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "FWCore/Framework/interface/EventSetup.h"
Expand Down Expand Up @@ -277,6 +278,8 @@ class TrackerOfflineValidation : public edm::EDAnalyzer {
std::map<int,TrackerOfflineValidation::ModuleHistos> mTecResiduals_;

const edm::EventSetup* lastSetup_;

TrackerValidationVariables avalidator_;
};


Expand Down Expand Up @@ -358,7 +361,8 @@ TrackerOfflineValidation::TrackerOfflineValidation(const edm::ParameterSet& iCon
useOverflowForRMS_(parSet_.getParameter<bool>("useOverflowForRMS")),
dqmMode_(parSet_.getParameter<bool>("useInDqmMode")),
moduleDirectory_(parSet_.getParameter<std::string>("moduleDirectoryInOutput")),
lastSetup_(nullptr)
lastSetup_(nullptr),
avalidator_(iConfig, consumesCollector())
{
}

Expand Down Expand Up @@ -969,12 +973,10 @@ TrackerOfflineValidation::analyze(const edm::Event& iEvent, const edm::EventSetu
{
if (useOverflowForRMS_)TH1::StatOverflows(kTRUE);
this->checkBookHists(iSetup); // check whether hists are booked and do so if not yet done

TrackerValidationVariables avalidator_(iSetup,parSet_);


std::vector<TrackerValidationVariables::AVTrackStruct> vTrackstruct;
avalidator_.fillTrackQuantities(iEvent, vTrackstruct);
avalidator_.fillTrackQuantities(iEvent, iSetup, vTrackstruct);

for (std::vector<TrackerValidationVariables::AVTrackStruct>::const_iterator itT = vTrackstruct.begin();
itT != vTrackstruct.end();
++itT) {
Expand Down
26 changes: 17 additions & 9 deletions Alignment/OfflineValidation/src/TrackerValidationVariables.cc
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@

#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Utilities/interface/InputTag.h"

#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
Expand Down Expand Up @@ -42,16 +44,18 @@

#include "TMath.h"

#include <string>

TrackerValidationVariables::TrackerValidationVariables()
{

}

TrackerValidationVariables::TrackerValidationVariables(const edm::EventSetup& es, const edm::ParameterSet& iSetup)
: conf_(iSetup)
TrackerValidationVariables::TrackerValidationVariables(const edm::ParameterSet& config,
edm::ConsumesCollector && iC)
{
es.get<TrackerDigiGeometryRecord>().get(tkGeom_);
es.get<IdealMagneticFieldRecord>().get(magneticField_);
trajCollectionToken_ = iC.consumes<std::vector<Trajectory> >(edm::InputTag(config.getParameter<std::string>("trajectoryInput")));
trajTracksToken_ = iC.consumes<TrajTrackAssociationCollection>(config.getParameter<edm::InputTag>("Tracks"));
}

TrackerValidationVariables::~TrackerValidationVariables()
Expand Down Expand Up @@ -302,11 +306,15 @@ TrackerValidationVariables::fillHitQuantities(const Trajectory* trajectory, std:
}

void
TrackerValidationVariables::fillTrackQuantities(const edm::Event& event, std::vector<AVTrackStruct> & v_avtrackout)
TrackerValidationVariables::fillTrackQuantities(const edm::Event& event,
const edm::EventSetup& eventSetup,
std::vector<AVTrackStruct> & v_avtrackout)
{
edm::InputTag TrjTrackTag = conf_.getParameter<edm::InputTag>("Tracks");
edm::ESHandle<MagneticField> magneticField;
eventSetup.get<IdealMagneticFieldRecord>().get(magneticField);

edm::Handle<TrajTrackAssociationCollection> TrajTracksMap;
event.getByLabel(TrjTrackTag, TrajTracksMap);
event.getByToken(trajTracksToken_, TrajTracksMap);
LogDebug("TrackerValidationVariables") << "TrajTrack collection size " << TrajTracksMap->size();

const Trajectory* trajectory;
Expand All @@ -333,7 +341,7 @@ TrackerValidationVariables::fillTrackQuantities(const edm::Event& event, std::ve
trackStruct.chi2Prob= TMath::Prob(track->chi2(),track->ndof());
trackStruct.normchi2 = track->normalizedChi2();
GlobalPoint gPoint(track->vx(), track->vy(), track->vz());
double theLocalMagFieldInInverseGeV = magneticField_->inInverseGeV(gPoint).z();
double theLocalMagFieldInInverseGeV = magneticField->inInverseGeV(gPoint).z();
trackStruct.kappa = -track->charge()*theLocalMagFieldInInverseGeV/track->pt();
trackStruct.charge = track->charge();
trackStruct.d0 = track->d0();
Expand All @@ -351,7 +359,7 @@ void
TrackerValidationVariables::fillHitQuantities(const edm::Event& event, std::vector<AVHitStruct> & v_avhitout)
{
edm::Handle<std::vector<Trajectory> > trajCollectionHandle;
event.getByLabel(conf_.getParameter<std::string>("trajectoryInput"), trajCollectionHandle);
event.getByToken(trajCollectionToken_, trajCollectionHandle);

LogDebug("TrackerValidationVariables") << "trajColl->size(): " << trajCollectionHandle->size() ;

Expand Down
19 changes: 12 additions & 7 deletions CondCore/Utilities/scripts/conddb
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import netrc
import os
import re
import sys
import stat
import subprocess
import tempfile
import textwrap
Expand Down Expand Up @@ -112,6 +113,7 @@ def _run_editor(editor, tempfd):


def _parse_timestamp(timestamp):

try:
return datetime.datetime.strptime(timestamp, '%Y-%m-%d %H:%M:%S.%f')
except ValueError:
Expand Down Expand Up @@ -301,8 +303,9 @@ class Colors(object):
end = '\033[0m'

def __init__(self, args):
if args.nocolors:
# TODO: Also disable if we are not running in a terminal

if ( stat.S_ISFIFO(os.fstat(sys.stdout.fileno()).st_mode) or # we are running in a pipe
args.nocolors ):
for member in dir(self):
if not member.startswith('_'):
setattr(self, member, '')
Expand Down Expand Up @@ -508,6 +511,9 @@ def search(args):
def _ilike_or_regexp_highlight_filter(cell):
return _ilike_or_regexp_highlight(args, cell, args.string)

def size(cell):
return str( sys.getsizeof( bytearray(cell) ) )

output_table(args,
session.query(conddb.Tag.name, conddb.Tag.time_type, conddb.Tag.object_type, conddb.Tag.synchronization, conddb.Tag.insertion_time, conddb.Tag.description).\
filter(
Expand All @@ -523,16 +529,16 @@ def search(args):
)

output_table(args,
session.query(conddb.Payload.hash, conddb.Payload.object_type, conddb.Payload.version, conddb.Payload.insertion_time).\
session.query(conddb.Payload.hash, conddb.Payload.object_type, conddb.Payload.version, conddb.Payload.insertion_time, conddb.Payload.data).\
filter(
_ilike_or_regexp(args, connection, conddb.Payload.hash, args.string)
| _ilike_or_regexp(args, connection, conddb.Payload.object_type, args.string)
).\
order_by(conddb.Payload.insertion_time.desc()).\
limit(args.limit).\
all(),
['Payload', 'Object Type', 'Version', 'Insertion Time'],
filters = [_ilike_or_regexp_highlight_filter, _ilike_or_regexp_highlight_filter, None, None, None],
['Payload', 'Object Type', 'Version', 'Insertion Time', 'Size'],
filters = [_ilike_or_regexp_highlight_filter, _ilike_or_regexp_highlight_filter, None, None, size],
)

output_table(args,
Expand Down Expand Up @@ -1310,7 +1316,7 @@ def main():
parser.add_argument('--verbose', '-v', action='count', help='Verbosity level. -v prints debugging information of this tool, like tracebacks in case of errors. -vv prints, in addition, all SQL statements issued. -vvv prints, in addition, all results returned by queries.')
parser.add_argument('--quiet', '-q', action='store_true', help='Quiet mode. Disables all standard output.')
parser.add_argument('--yes', '-y', action='store_true', help='Acknowledged mode. Disables confirmation prompts before writes to the database.')
parser.add_argument('--nocolors', action='store_true', help='Disable colors. TODO: This is automatically done when the output is not connected to a terminal (e.g. a file).')
parser.add_argument('--nocolors', action='store_true', help='Disable colors. This is automatically done when the output is connected to a pipe (e.g. " conddb ... | less" ).')
parser.add_argument('--editor', '-e', default=None, help='Editor to use. Default: the content of the EDITOR environment variable.')
parser.add_argument('--force', action='store_true', help='Force edit in official databases. Only meant for experts.')
parser.add_argument('--noLimit', action='store_true', help='Ignore the limit setting for the subcommand. This may generate a _lot_ of output and put some load on the DB, so please use with care.')
Expand Down Expand Up @@ -1401,7 +1407,6 @@ def main():
args.limit = None
logging.info("noLimit specified, setting limit to %s" % str(args.limit))


if args.verbose >= 1:
# Include the traceback
args.func(args)
Expand Down
3 changes: 2 additions & 1 deletion DQM/TrackerMonitorTrack/interface/MonitorTrackResiduals.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Monitoring source for track residuals on each detector module
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/Run.h"
#include <DQMServices/Core/interface/DQMEDAnalyzer.h>

#include "Alignment/OfflineValidation/interface/TrackerValidationVariables.h"

class MonitorElement;
class DQMStore;
Expand Down Expand Up @@ -54,5 +54,6 @@ class MonitorTrackResiduals : public DQMEDAnalyzer {
unsigned long long m_cacheID_;
bool ModOn;
GenericTriggerEventFlag* genTriggerEventFlag_;
TrackerValidationVariables avalidator_;
};
#endif
5 changes: 2 additions & 3 deletions DQM/TrackerMonitorTrack/src/MonitorTrackResiduals.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
#include "DataFormats/SiStripDetId/interface/StripSubdetector.h"
#include "DataFormats/SiStripDetId/interface/SiStripDetId.h"
#include "TrackingTools/TrackFitters/interface/TrajectoryStateCombiner.h"
#include "Alignment/OfflineValidation/interface/TrackerValidationVariables.h"
#include "Alignment/TrackerAlignment/interface/TrackerAlignableId.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "DQMServices/Core/interface/MonitorElement.h"
Expand All @@ -24,7 +23,8 @@
MonitorTrackResiduals::MonitorTrackResiduals(const edm::ParameterSet& iConfig)
: dqmStore_( edm::Service<DQMStore>().operator->() )
, conf_(iConfig), m_cacheID_(0)
, genTriggerEventFlag_(new GenericTriggerEventFlag(iConfig, consumesCollector())) {
, genTriggerEventFlag_(new GenericTriggerEventFlag(iConfig, consumesCollector()))
, avalidator_(iConfig, consumesCollector()) {
ModOn = conf_.getParameter<bool>("Mod_On");
}

Expand Down Expand Up @@ -157,7 +157,6 @@ void MonitorTrackResiduals::analyze(const edm::Event& iEvent, const edm::EventSe
iSetup.get<IdealGeometryRecord>().get(tTopoHandle);
const TrackerTopology* const tTopo = tTopoHandle.product();

TrackerValidationVariables avalidator_(iSetup,conf_);
std::vector<TrackerValidationVariables::AVHitStruct> v_hitstruct;
avalidator_.fillHitQuantities(iEvent,v_hitstruct);
for (std::vector<TrackerValidationVariables::AVHitStruct>::const_iterator it = v_hitstruct.begin(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,11 +157,11 @@
# seeding monitoring
for step in selectedIterTrackingStep :
label = 'TrackSeedMon'+str(step)
TrackingDQMSourceTier0 += cms.Sequence(locals()[label])
TrackingDQMSourceTier0Common += cms.Sequence(locals()[label])
# MessageLog
for module in selectedModules :
label = str(module)+'LogMessageMonCommon'
TrackingDQMSourceTier0 += cms.Sequence(locals()[label])
TrackingDQMSourceTier0Common += cms.Sequence(locals()[label])
TrackingDQMSourceTier0Common += dqmInfoTracking

TrackingDQMSourceTier0MinBias = cms.Sequence()
Expand All @@ -178,7 +178,7 @@
# seeding monitoring
for step in selectedIterTrackingStep :
label = 'TrackSeedMon'+str(step)
TrackingDQMSourceTier0 += cms.Sequence(locals()[label])
TrackingDQMSourceTier0MinBias += cms.Sequence(locals()[label])
# MessageLog
for module in selectedModules :
label = str(module)+'LogMessageMonMB'
Expand Down
27 changes: 14 additions & 13 deletions DetectorDescription/Core/interface/DDAxes.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,32 @@
#include <map>

//! analagous to geant4/source/global/HEPGeometry/include/geomdefs.hh
enum DDAxes {x, y, z, rho, radial3D, phi, undefined};
namespace DDI
{
enum DDAxes {x, y, z, rho, radial3D, phi, undefined};
};

class AxesNames
{

public:
{
public:
AxesNames();
~AxesNames();

const std::string name(const DDAxes& s) ;
const std::string name( const DDI::DDAxes& s );

DDAxes index(const std::string & s);
DDI::DDAxes index(const std::string & s);

private:
std::map<std::string, DDAxes> axesmap_;
private:
std::map<std::string, DDI::DDAxes> axesmap_;
};


class DDAxesNames : public DDI::Singleton<AxesNames>
{
public:

static const std::string name(const DDAxes& s);
public:

static DDAxes index(const std::string & s);
static const std::string name( const DDI::DDAxes& s );

static DDI::DDAxes index( const std::string & s );
};

#endif // DDAxes_h
8 changes: 4 additions & 4 deletions DetectorDescription/Core/interface/DDDivision.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ class DDDivision : public DDBase<DDName, DDI::Division*>
*/
DDDivision(const DDName & name,
const DDLogicalPart & parent,
const DDAxes axis,
const DDI::DDAxes axis,
const int nReplicas,
const double width,
const double offset );
Expand All @@ -96,7 +96,7 @@ class DDDivision : public DDBase<DDName, DDI::Division*>
*/
DDDivision(const DDName & name,
const DDLogicalPart & parent,
const DDAxes axis,
const DDI::DDAxes axis,
const int nReplicas,
const double offset );

Expand All @@ -105,13 +105,13 @@ class DDDivision : public DDBase<DDName, DDI::Division*>
*/
DDDivision(const DDName & name,
const DDLogicalPart & parent,
const DDAxes axis,
const DDI::DDAxes axis,
const double width,
const double offset );

// virtual ~G4PVDivision();

DDAxes axis() const;
DDI::DDAxes axis() const;
int nReplicas() const;
double width() const;
double offset() const;
Expand Down
Loading

0 comments on commit f2d93ff

Please sign in to comment.