Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
calib::MuondEdxAna Class Reference
Inheritance diagram for calib::MuondEdxAna:
art::EDFilter art::ProducerBase art::Consumer art::EngineCreator art::ProductRegistryHelper

Public Types

using Parameters = art::EDFilter::Table< MuondEdxAnaParams >
 
using ModuleType = EDFilter
 
using WorkerType = WorkerT< EDFilter >
 
template<typename UserConfig >
using Table = ProducerBase::Table< UserConfig >
 

Public Member Functions

 MuondEdxAna (const Parameters &params)
 
virtual ~MuondEdxAna ()
 
bool filter (art::Event &e) override
 
void beginJob () override
 
void endJob () override
 
bool beginRun (art::Run &r) override
 
bool endRun (art::Run &r) override
 
template<typename PROD , BranchType B = InEvent>
ProductID getProductID (std::string const &instanceName={}) const
 
template<typename PROD , BranchType B>
ProductID getProductID (ModuleDescription const &moduleDescription, std::string const &instanceName) const
 
bool modifiesEvent () const
 
template<typename T , BranchType = InEvent>
ProductToken< Tconsumes (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< Tconsumes (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TconsumesView (InputTag const &it)
 
template<typename T , BranchType = InEvent>
ProductToken< TmayConsume (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< TmayConsume (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TmayConsumeView (InputTag const &it)
 
base_engine_tcreateEngine (seed_t seed)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make, label_t const &engine_label)
 
seed_t get_seed_value (fhicl::ParameterSet const &pset, char const key[]="seed", seed_t const implicit_seed=-1)
 

Static Public Member Functions

static cet::exempt_ptr< Consumernon_module_context ()
 

Static Public Attributes

static constexpr bool Pass {true}
 
static constexpr bool Fail {false}
 

Protected Member Functions

double getPECorr (art::Event &e, caldp::PCHit const &pchit)
 
double getPECorrToGeV (art::Event &e, caldp::PCHit const &pchit)
 
void fillRespVar (double PECorr, double PE, double trueE, double RecoGeV, double path, double w, int plane, int cell, int view, double tns, double EventTimeHigh, int run, double dCosX, double dCosY, double dCosZ, int diblock)
 
void fillLowLevel (double PECorr, double PE, double trueE, double RecoGeV, double path, double w, int plane, int cell, int view, int diblock, double x, double trackLength, double FlightLength, double TotalTrackLength, double dCosX, double dCosY, double dCosZ)
 
CurrentProcessingContext const * currentContext () const
 
void validateConsumedProduct (BranchType const bt, ProductInfo const &pi)
 
void prepareForJob (fhicl::ParameterSet const &pset)
 
void showMissingConsumes () const
 

Protected Attributes

MuondEdxAnaParams fParams
 
art::ServiceHandle< calib::CalibratorfCalib
 
art::ServiceHandle< geo::GeometryfGeo
 
TH2D * fdEdx
 
TH2D * fdEdx_MuonCatch
 
TH2D * fdEdx_minus
 
TH2D * fdEdx_plus
 
TH2D * fdEdx_true
 
TH2D * fdEdx_true_MuonCatch
 
TH2D * fdEdx_NearReadout
 
TH2D * fdEdx_true_NearReadout
 
TH1D * fPECorr
 
TH1D * fPE
 
TH1D * fTrueE
 
TH1D * fPECorr_X
 
TH1D * fPE_X
 
TH1D * fTrueE_X
 
TH1D * fPECorr_Y
 
TH1D * fPE_Y
 
TH1D * fTrueE_Y
 
TH1D * fRecoGeV
 
TH1D * fDiblock
 
TProfile * fPECorrDiblock
 
TProfile * fMevDiblock
 
TH1D * fPlane
 
TH1D * fPlane_X
 
TH1D * fPlane_Y
 
TProfile * fPECorrPlane
 
TProfile * fPECorrPlane_X
 
TProfile * fPECorrPlane_Y
 
TProfile * fMevPlane
 
TProfile * fMevPlane_X
 
TProfile * fMevPlane_Y
 
TH1D * fPathLength
 
TH1D * fPathLength_X
 
TH1D * fPathLength_Y
 
TProfile * fPECorrPath
 
TProfile * fPECorrPath_X
 
TProfile * fPECorrPath_Y
 
TProfile * fMevPath
 
TProfile * fMevPath_X
 
TProfile * fMevPath_Y
 
TH1D * fW
 
TH1D * fW_X
 
TH1D * fW_Y
 
TProfile * fPECorrW
 
TProfile * fPECorrW_X
 
TProfile * fPECorrW_Y
 
TProfile * fMevW
 
TProfile * fMevW_X
 
TProfile * fMevW_Y
 
TH2D * fPathW_X
 
TH2D * fPathW_Y
 
TProfile2D * fPECorrPathW_X
 
TProfile2D * fPECorrPathW_Y
 
TProfile2D * fMeVPathW_X
 
TProfile2D * fMeVPathW_Y
 
TH1D * fCell_X
 
TH1D * fCell_Y
 
TProfile * fPECorrCell_X
 
TProfile * fPECorrCell_Y
 
TProfile * fMevCell_X
 
TProfile * fMevCell_Y
 
TH3D * fWvsCell_PECorr_0
 
TH3D * fWvsCell_PECorr_1
 
TH3D * fWvsCell_PE_0
 
TH3D * fWvsCell_PE_1
 
TH3D * fWvsCell_MEV_0
 
TH3D * fWvsCell_MEV_1
 
TH2D * fWvsCell_0
 
TH2D * fWvsCell_1
 
TH2D * fdPEdx
 
TH1D * fTrackEndDist
 
TH1D * fTrackEndDistCustom
 
TH1D * fFlightLength
 
TH1D * fTrackLength
 
TH1D * fTrackLengthCustom
 
TH1D * fStopPlane
 
TH1D * fStopPlane_liveGeomCut
 
TH1D * fTrackEndPlane
 
TH1D * ftrackEndPlaneWithinDiblock
 
TH1D * fDistToFront_Stop
 
TH1D * fDistToBack_Stop
 
TH1D * fTNS
 
TH1D * fRun
 
TH1D * fEventTime
 
TProfile * fPECorrTNS
 
TProfile * fPECorrRun
 
TProfile * fPECorrEventTime
 
TH1D * fWindowTricellsPerTrack
 
TH1D * fWindowHitsPerTrack
 
TH1D * fWindowPlanesPerTrack
 
TH1D * fWindowViewsPerTrack
 
TH1D * fWindowOneViewTracks
 
TH2D * fWinTricellsHitsPerTrack
 
TH2D * fWinTricellsPlanesPerTrack
 
TH2D * fWinHitsPlanesPerTrack
 
TH2D * fWinTricellsViewsPerTrack
 
TH1D * fDCosX
 
TH1D * fDCosY
 
TH1D * fDCosZ
 
TProfile * fRespDCosX
 
TProfile * fRespDCosY
 
TProfile * fRespDCosZ
 
TH1D * fEvtTime
 
TProfile * fDetRespEvtTime
 
TH1D * fDeltaStartPlane
 
TH1D * fDeltaEndPlane
 
TH1D * fPlaneAsymmetry
 
TH2D * fPlaneAsymmetry2D
 
TTree * fTree
 
int diblock
 
int view
 
float FlightLength
 
float TotalTrackLength
 
float x
 
float xCust
 
float plane
 
float path
 
float truepath
 
float trueW
 
float trueE
 
float PE
 
float truePE
 
float PECorr
 
float tns
 
uint32_t EventTimeHigh
 
float cell
 
float w
 
float PECorrToGeV
 
float RecoGeV
 
float distanceToLiveDetEdgeZ
 
int pdg
 
int run
 
int evt_year
 
int evt_month
 
int evt_day
 
int evt_hour
 
int evt_min
 
int evt_sec
 
int APD
 
int sameAPDhitsEvent
 
int sameAPDhitDiblockEvent
 
int nhits
 
int nXYHits
 
bool badTNS
 
float dCosX
 
float dCosY
 
float dCosZ
 
float fibBrightnessBin
 
const uint32_t NOVA_EPOCH = 1262304000
 
const unsigned long long NOVA_TIME_FACTOR = 64000000
 

Detailed Description

Definition at line 95 of file MuondEdxAna_module.cc.

Member Typedef Documentation

using art::EDFilter::ModuleType = EDFilter
inherited

Definition at line 37 of file EDFilter.h.

Definition at line 97 of file MuondEdxAna_module.cc.

template<typename UserConfig >
using art::EDFilter::Table = ProducerBase::Table<UserConfig>
inherited

Definition at line 46 of file EDFilter.h.

using art::EDFilter::WorkerType = WorkerT<EDFilter>
inherited

Definition at line 38 of file EDFilter.h.

Constructor & Destructor Documentation

calib::MuondEdxAna::MuondEdxAna ( const Parameters params)
explicit

Definition at line 304 of file MuondEdxAna_module.cc.

References fParams.

305  : fParams(params())
306  {
307  produces< TH2D, art::InRun >("dEdx");
308  produces< TH2D, art::InRun >("dEdxMinus");
309  produces< TH2D, art::InRun >("dEdxPlus");
310  produces< TH2D, art::InRun >("dEdxTrue");
311 
312  mf::LogInfo("MuondEdxAna") << "Filling Tree with hits labelled: "
313  << fParams.qualTreeHitsName();
314 
315 
316  }
MaybeLogger_< ELseverityLevel::ELsev_info, false > LogInfo
MuondEdxAnaParams fParams
calib::MuondEdxAna::~MuondEdxAna ( )
virtual

Definition at line 318 of file MuondEdxAna_module.cc.

319  {
320  // Clean up dynamic memory and other resources here.
321  }

Member Function Documentation

void calib::MuondEdxAna::beginJob ( )
overridevirtual

Reimplemented from art::EDFilter.

Definition at line 731 of file MuondEdxAna_module.cc.

References APD, badTNS, cell, dCosX, dCosY, dCosZ, diblock, distanceToLiveDetEdgeZ, EventTimeHigh, evt_day, evt_hour, evt_min, evt_month, evt_sec, evt_year, fCell_X, fCell_Y, fDCosX, fDCosY, fDCosZ, fdEdx, fdEdx_minus, fdEdx_MuonCatch, fdEdx_NearReadout, fdEdx_plus, fdEdx_true, fdEdx_true_MuonCatch, fdEdx_true_NearReadout, fDeltaEndPlane, fDeltaStartPlane, fDetRespEvtTime, fDiblock, fDistToBack_Stop, fDistToFront_Stop, fdPEdx, fEventTime, fEvtTime, fFlightLength, fibBrightnessBin, FlightLength, fMevCell_X, fMevCell_Y, fMevDiblock, fMevPath, fMevPath_X, fMevPath_Y, fMeVPathW_X, fMeVPathW_Y, fMevPlane, fMevPlane_X, fMevPlane_Y, fMevW, fMevW_X, fMevW_Y, fPathLength, fPathLength_X, fPathLength_Y, fPathW_X, fPathW_Y, fPE, fPE_X, fPE_Y, fPECorr, fPECorr_X, fPECorr_Y, fPECorrCell_X, fPECorrCell_Y, fPECorrDiblock, fPECorrEventTime, fPECorrPath, fPECorrPath_X, fPECorrPath_Y, fPECorrPathW_X, fPECorrPathW_Y, fPECorrPlane, fPECorrPlane_X, fPECorrPlane_Y, fPECorrRun, fPECorrTNS, fPECorrW, fPECorrW_X, fPECorrW_Y, fPlane, fPlane_X, fPlane_Y, fPlaneAsymmetry, fPlaneAsymmetry2D, fRecoGeV, fRespDCosX, fRespDCosY, fRespDCosZ, fRun, fStopPlane, fStopPlane_liveGeomCut, fTNS, fTrackEndDist, fTrackEndDistCustom, fTrackEndPlane, ftrackEndPlaneWithinDiblock, fTrackLength, fTrackLengthCustom, fTree, fTrueE, fTrueE_X, fTrueE_Y, fW, fW_X, fW_Y, fWindowHitsPerTrack, fWindowOneViewTracks, fWindowPlanesPerTrack, fWindowTricellsPerTrack, fWindowViewsPerTrack, fWinHitsPlanesPerTrack, fWinTricellsHitsPerTrack, fWinTricellsPlanesPerTrack, fWinTricellsViewsPerTrack, fWvsCell_0, fWvsCell_1, fWvsCell_MEV_0, fWvsCell_MEV_1, fWvsCell_PECorr_0, fWvsCell_PECorr_1, art::TFileDirectory::make(), nhits, nXYHits, path, pdg, PE, PECorr, PECorrToGeV, plane, cet::pow(), RecoGeV, sameAPDhitDiblockEvent, sameAPDhitsEvent, tns, TotalTrackLength, trueE, truepath, truePE, trueW, view, w, x, and xCust.

732  {
733  // histograms for output
735 
736  fTree = tfs->make<TTree>("fTree","tree to hold muondedx variables");
737  fTree->Branch("nXYHits",&nXYHits);
738  fTree->Branch("nhits",&nhits);
739  fTree->Branch("dCosX",&dCosX);
740  fTree->Branch("dCosY",&dCosY);
741  fTree->Branch("dCosZ",&dCosZ);
742  fTree->Branch("x",&x);
743  fTree->Branch("badTNS",&badTNS);
744  fTree->Branch("run",&run);
745  fTree->Branch("diblock",&diblock);
746  fTree->Branch("view",&view);
747  fTree->Branch("FlightLength",&FlightLength);
748  fTree->Branch("TotalTrackLength",&TotalTrackLength);
749  fTree->Branch("xCust",&xCust);
750  fTree->Branch("distanceToLiveDetEdgeZ",&distanceToLiveDetEdgeZ);
751  fTree->Branch("plane",&plane);
752  fTree->Branch("path",&path);
753  fTree->Branch("truepath",&truepath);
754  fTree->Branch("trueW",&trueW);
755  fTree->Branch("trueE",&trueE);
756  fTree->Branch("truePE",&truePE);
757  fTree->Branch("PE",&PE);
758  fTree->Branch("PECorr",&PECorr);
759  fTree->Branch("tns",&tns);
760  fTree->Branch("cell",&cell);
761  fTree->Branch("w",&w);
762  fTree->Branch("pdg",&pdg);
763  fTree->Branch("PECorrToGeV",&PECorrToGeV);
764  fTree->Branch("RecoGeV",&RecoGeV);
765  fTree->Branch("EventTimeHigh",&EventTimeHigh);
766  fTree->Branch("evt_year",&evt_year);
767  fTree->Branch("evt_month",&evt_month);
768  fTree->Branch("evt_day",&evt_day);
769  fTree->Branch("evt_hour",&evt_hour);
770  fTree->Branch("evt_min",&evt_min);
771  fTree->Branch("evt_sec",&evt_sec);
772  fTree->Branch("APD",&APD);
773  fTree->Branch("sameAPDhitsEvent",&sameAPDhitsEvent);
774  fTree->Branch("sameAPDhitDiblockEvent",&sameAPDhitDiblockEvent);
775  fTree->Branch("fibBrightnessBin",&fibBrightnessBin);
776 
777  fDeltaStartPlane = tfs->make<TH1D>("DeltaStartPlane",";startPlane diff. (x,y);",100,0,100);
778  fDeltaEndPlane = tfs->make<TH1D>("DeltaEndPlane",";endPlane diff. (x,y);",100,0,100);
779  fPlaneAsymmetry = tfs->make<TH1D>("PlaneAsymmetry",";plane asymm. (x,y);",100,0,100);
780  fPlaneAsymmetry2D = tfs->make<TH2D>("PlaneAsymmetry2D",";diff in view-planes(x-y); sum of view-planes (x+y);",100,0,100,1000,0,1000);
781 
782  fEvtTime = tfs->make<TH1D>("EvtTime",";EvtTime (YYYYMMDD);",std::pow(10,6),0,std::pow(10,6));
783  fDetRespEvtTime = tfs->make<TProfile>("DetRespEvtTime",";EvtTime (YYYYMMDD); PECorr/cm",std::pow(10,6),0,std::pow(10,6));
784 
785  fDCosX = tfs->make<TH1D>("DCosX",";dCosX;",200,-1,1);
786  fDCosY = tfs->make<TH1D>("DCosY",";dCosY;",200,-1,1);
787  fDCosZ = tfs->make<TH1D>("DCosZ",";dCosZ;",200,-1,1);
788  fRespDCosX = tfs->make<TProfile>("RespDCosX",";dCosX;",200,-1,1);
789  fRespDCosY = tfs->make<TProfile>("RespDCosY",";dCosY;",200,-1,1);
790  fRespDCosZ = tfs->make<TProfile>("RespDCosZ",";dCosZ;",200,-1,1);
791 
792  fdPEdx = tfs->make<TH2D>("dPEdx",";Distance to track end (cm);PE / cm;",
793  50,0.,500.,200,0.,200.);
794  fdEdx = tfs->make<TH2D>("dEdx",";Distance to track end (cm);PECorr / cm;",
795  50,0.,500.,200,0.,200.);
796  fdEdx_minus = tfs->make<TH2D>("dEdx_minus",";Distance to track end (cm);PECorr / cm;",
797  50,0.,500.,200,0.,200.);
798  fdEdx_plus = tfs->make<TH2D>("dEdx_plus",";Distance to track end (cm);PECorr / cm;",
799  50,0.,500.,200,0.,200.);
800  fdEdx_true = tfs->make<TH2D>("dEdx_true",";Distance to track end (cm);True MeV / cm;",
801  50,0.,500.,200,0.,5.);
802 
803  fdEdx_MuonCatch = tfs->make<TH2D>("dEdx_MuonCatch",";Distance to track end (cm);PECorr / cm;",
804  50,0.,500.,200,0.,200.);
805  fdEdx_true_MuonCatch = tfs->make<TH2D>("dEdx_true_MuonCatch",";Distance to track end (cm);True MeV / cm;",
806  50,0.,500.,200,0.,5.);
807 
808  fdEdx_NearReadout = tfs->make<TH2D>("dEdx_NearReadout",";Distance to track end (cm);PECorr / cm;",
809  50,0.,500.,200,0.,200.);
810  fdEdx_true_NearReadout = tfs->make<TH2D>("dEdx_true_NearReadout",";Distance to track end (cm);True MeV / cm;",
811  50,0.,500.,200,0.,5.);
812 
813 
814  //fMEUreco_flat_w = tfs->make<TH1D>("meureco_flat_w",";PECorr/cm;",1000,0,500);
815  //fMEUtrue_flat_w = tfs->make<TH1D>("meutrue_flat_w",";MeV/cm;",1000,0,25);
816 
817  fPECorr = tfs->make<TH1D>("PECorr",";PECorr/cm;",1000,0,500);
818  fPE = tfs->make<TH1D>("PE",";PE/cm;",1000,0,500);
819  fTrueE = tfs->make<TH1D>("TrueE",";MeV/cm;",1000,0,25);
820  fRecoGeV = tfs->make<TH1D>("RecoGeV",";MeV/cm;",1000,0,25);
821  fPECorr_X = tfs->make<TH1D>("PECorr_X",";PECorr/cm;",1000,0,500);
822  fPE_X = tfs->make<TH1D>("PE_X",";PE/cm;",1000,0,500);
823  fTrueE_X = tfs->make<TH1D>("TrueE_X",";MeV/cm;",1000,0,25);
824  fPECorr_Y = tfs->make<TH1D>("PECorr_Y",";PECorr/cm;",1000,0,500);
825  fPE_Y = tfs->make<TH1D>("PE_Y",";PE/cm;",1000,0,500);
826  fTrueE_Y = tfs->make<TH1D>("TrueE_Y",";MeV/cm;",1000,0,25);
827 
828  fFlightLength = tfs->make<TH1D>("FlightLength",";distance from track start (cm);",1000,0,10000);
829  fTrackLength = tfs->make<TH1D>("TrackLength",";Total track length (cm);",1000,0,10000);
830  fTrackEndDist = tfs->make<TH1D>("TrackEndDist",";Distance to end of track (cm)",1000,0,10000);
831  fTrackLengthCustom = tfs->make<TH1D>("TrackLengthCustom",";Total track length (cm);",1000,0,10000);
832  fTrackEndDistCustom = tfs->make<TH1D>("TrackEndDistCustom",";Distance to end of track (cm)",1000,0,10000);
833  fTrackEndPlane = tfs->make<TH1D>("TrackEndPlane",";plane of track end;",1000,0,1000);
834  fStopPlane = tfs->make<TH1D>("StopPlane",";start and stop z positions;",1000,0,1000);
835  fStopPlane_liveGeomCut = tfs->make<TH1D>("StopPlane_liveGeomCut",";start and stop z positions;",1000,0,1000);
836  fDistToFront_Stop = tfs->make<TH1D>("DistToFront_Stop",";distance to front (cm);",1000,0,1000);
837  fDistToBack_Stop = tfs->make<TH1D>("DistToBack_Stop",";distance to back (cm);",1000,0,1000);
838 
839  fTNS = tfs->make<TH1D>("TNS",";TNS (nova time);",std::pow(10,3),-5*std::pow(10,4),5*std::pow(10,4));
840  fPECorrTNS = tfs->make<TProfile>("PECorrTNS",";TNS (nova time); PECorr/cm;",std::pow(10,3),-5*std::pow(10,4),5*std::pow(10,4));
841  fRun = tfs->make<TH1D>("Run",";Run;",10000,0,100000);
842  fPECorrRun = tfs->make<TProfile>("PECorrRun",";Run; PECorr/cm;",10000,0,100000);
843 
844  fEventTime = tfs->make<TH1D>("EventTime",";date and time (seconds);",std::pow(10,6),0,std::pow(10,10));
845  fPECorrEventTime = tfs->make<TProfile>("PECorrEventTime",";date and time (seconds); PECorr/cm;",std::pow(10,6),0,std::pow(10,10));
846 
847  fPathW_X = tfs->make<TH2D>("PathW_X",";W (cm); Path (cm)",160,-800,800, 100, 2, 12);
848  fPathW_Y = tfs->make<TH2D>("PathW_Y",";W (cm); Path (cm)",160,-800,800, 100, 2, 12);
849  fPECorrPathW_X = tfs->make<TProfile2D>("PECorrPathW_X",";W (cm); Path (cm); PECorr/cm",160,-800,800, 100, 2, 12);
850  fPECorrPathW_Y = tfs->make<TProfile2D>("PECorrPathW_Y",";W (cm); Path (cm); PECorr/cm",160,-800,800, 100, 2, 12);
851  fMeVPathW_X = tfs->make<TProfile2D>("MeVPathW_X",";W (cm); Path (cm); MeV/cm",160,-800,800, 100, 2, 12);
852  fMeVPathW_Y = tfs->make<TProfile2D>("MeVPathW_Y",";W (cm); Path (cm); MeV/cm",160,-800,800, 100, 2, 12);
853 
854  fPathLength = tfs->make<TH1D>("PathLength",";path length (cm);",200,0,20);
855  fPathLength_X = tfs->make<TH1D>("PathLength_X",";path length (cm);",200,0,20);
856  fPathLength_Y = tfs->make<TH1D>("PathLength_Y",";path length (cm);",200,0,20);
857  fPECorrPath = tfs->make<TProfile>("PECorrPath",";path length X-view (cm); PECorr/cm;",200,0,20);
858  fPECorrPath_X = tfs->make<TProfile>("PECorrPath_X",";path length X-view (cm); PECorr/cm;",200,0,20);
859  fPECorrPath_Y = tfs->make<TProfile>("PECorrPath_Y",";path length X-view (cm); PECorr/cm;",200,0,20);
860  fMevPath = tfs->make<TProfile>("MevPath",";path length X-view (cm); Mev/cm;",200,0,20);
861  fMevPath_X = tfs->make<TProfile>("MevPath_X",";path length X-view (cm); Mev/cm;",200,0,20);
862  fMevPath_Y = tfs->make<TProfile>("MevPath_Y",";path length X-view (cm); Mev/cm;",200,0,20);
863 
864  fPlane = tfs->make<TH1D>("Plane",";plane;",1000,0,1000);
865  fPlane_X = tfs->make<TH1D>("Plane_X",";plane;",1000,0,1000);
866  fPlane_Y = tfs->make<TH1D>("Plane_Y",";plane;",1000,0,1000);
867  fPECorrPlane = tfs->make<TProfile>("PECorrPlane",";plane; PECorr;",1000,0,1000);
868  fPECorrPlane_X = tfs->make<TProfile>("PECorrPlane_X",";plane; PECorr;",1000,0,1000);
869  fPECorrPlane_Y = tfs->make<TProfile>("PECorrPlane_Y",";plane; PECorr;",1000,0,1000);
870  fMevPlane = tfs->make<TProfile>("MevPlane",";plane; Mev;",1000,0,1000);
871  fMevPlane_X = tfs->make<TProfile>("MevPlane_X",";plane; Mev;",1000,0,1000);
872  fMevPlane_Y = tfs->make<TProfile>("MevPlane_Y",";plane; Mev;",1000,0,1000);
873 
874  fW = tfs->make<TH1D>("W",";w;",160,-800,800);
875  fW_X = tfs->make<TH1D>("W_X",";w;",160,-800,800);
876  fW_Y = tfs->make<TH1D>("W_Y",";w;",160,-800,800);
877  fPECorrW = tfs->make<TProfile>("PECorrW",";w; PECorr/cm;",160,-800,800);
878  fPECorrW_X = tfs->make<TProfile>("PECorrW_X",";w; PECorr/cm;",160,-800,800);
879  fPECorrW_Y = tfs->make<TProfile>("PECorrW_Y",";w; PECorr/cm;",160,-800,800);
880  fMevW = tfs->make<TProfile>("MevW",";w; Mev/cm;",160,-800,800);
881  fMevW_X = tfs->make<TProfile>("MevW_X",";w; Mev/cm;",160,-800,800);
882  fMevW_Y = tfs->make<TProfile>("MevW_Y",";w; Mev/cm;",160,-800,800);
883 
884  fCell_X = tfs->make<TH1D>("Cell_X",";cell;",1000,0,1000);
885  fCell_Y = tfs->make<TH1D>("Cell_Y",";cell;",1000,0,1000);
886  fPECorrCell_X = tfs->make<TProfile>("PECorrCell_X",";cell; PECorr/cm;",1000,0,1000);
887  fPECorrCell_Y = tfs->make<TProfile>("PECorrCell_Y",";cell; PECorr/cm;",1000,0,1000);
888  fMevCell_X = tfs->make<TProfile>("MevCell_X",";cell; Mev/cm;",1000,0,1000);
889  fMevCell_Y = tfs->make<TProfile>("MevCell_Y",";cell; Mev/cm;",1000,0,1000);
890 
891  //track level histograms
892  fWindowTricellsPerTrack = tfs->make<TH1D>("WindowTricellsPerTrack",";tricells per track in track window;",50,0,50);
893  fWindowHitsPerTrack = tfs->make<TH1D>("WindowHitsPerTrack",";hits per track in track window;",1000,0,1000);
894  fWindowPlanesPerTrack = tfs->make<TH1D>("WindowPlanesPerTrack",";planes per track in track window;",1000,0,1000);
895  fWindowViewsPerTrack = tfs->make<TH1D>("WindowViewsPerTrack",";views per track in track window;",10,0,10);
896  fWindowOneViewTracks = tfs->make<TH1D>("WindowOneViewTracks",";View in window when only one present;",10,0,10);
897 
898  fWinTricellsHitsPerTrack = tfs->make<TH2D>("WinTricellsHitsPerTrack",";tricells per track in track window;hits per track in window;",
899  50,0,50,60,0,60);
900  fWinTricellsPlanesPerTrack = tfs->make<TH2D>("WinTricellsPlanesPerTrack",";tricells per track in track window;planes hit per track in window;",
901  50,0,50,10,0,10);
902  fWinHitsPlanesPerTrack = tfs->make<TH2D>("WinHitsPlanesPerTrack",";hits per track in window;planes per track in window",
903  60,0,60,10,0,10);
904  fWinTricellsViewsPerTrack = tfs->make<TH2D>("WinTricellsViewsPerTrack",";tricells per track in track window;views per track in window;",
905  50,0,50,4,0,4);
906 
907  fWvsCell_0 = tfs->make<TH2D>("WvsCell_0",";Cell;W;",
908  40,0.,400.,160,-800.,800.);
909  fWvsCell_1 = tfs->make<TH2D>("WvsCell_1",";Cell;W;",
910  40,0.,400.,160,-800.,800.);
911  fWvsCell_PECorr_0 = tfs->make<TH3D>("WvsCell_PECorr_0",";Cell;W;",
912  40,0.,400.,160,-800.,800.,100,0.,100.);
913  fWvsCell_PECorr_1 = tfs->make<TH3D>("WvsCell_PECorr_1",";Cell;W;",
914  40,0.,400.,160,-800.,800.,100,0.,100.);
915  fWvsCell_MEV_0 = tfs->make<TH3D>("WvsCell_MEV_0",";Cell;W;",
916  40,0.,400.,160,-800.,800.,100,0.,10.);
917  fWvsCell_MEV_1 = tfs->make<TH3D>("WvsCell_MEV_1",";Cell;W;",
918  40,0.,400.,160,-800.,800.,100,0.,10.);
919 
920  fDiblock = tfs->make<TH1D>("Diblock","diblock",20,0,20);
921  fPECorrDiblock = tfs->make<TProfile>("PECorrDiblock",";diblock; PECorr/cm",20,0,20);
922  fMevDiblock = tfs->make<TProfile>("MevDiblock",";diblock; MeV/cm",20,0,20);
923 
924  ftrackEndPlaneWithinDiblock = tfs->make<TH1D>("trackEndPlaneWithinDiblock", ";plane of track end within diblocks;",100,0,100);
925 
926  }
constexpr T pow(T x)
Definition: pow.h:75
Definition: run.py:1
T * make(ARGS...args) const
bool calib::MuondEdxAna::beginRun ( art::Run r)
overridevirtual

Reimplemented from art::EDFilter.

Definition at line 928 of file MuondEdxAna_module.cc.

928  {
929  return true;
930  }
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::consumes ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::consumes ( InputTag const &  it)
inherited

Definition at line 146 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

147 {
148  if (!moduleContext_)
149  return ProductToken<T>::invalid();
150 
151  consumables_[BT].emplace_back(ConsumableType::Product,
152  TypeID{typeid(T)},
153  it.label(),
154  it.instance(),
155  it.process());
156  return ProductToken<T>{it};
157 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::consumesMany ( )
inherited

Definition at line 161 of file Consumer.h.

References T.

162 {
163  if (!moduleContext_)
164  return;
165 
166  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
167 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::consumesView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::consumesView ( InputTag const &  it)
inherited

Definition at line 171 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

172 {
173  if (!moduleContext_)
174  return ViewToken<T>::invalid();
175 
176  consumables_[BT].emplace_back(ConsumableType::ViewElement,
177  TypeID{typeid(T)},
178  it.label(),
179  it.instance(),
180  it.process());
181  return ViewToken<T>{it};
182 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make 
)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make,
label_t const &  engine_label 
)
inherited
CurrentProcessingContext const* art::EDFilter::currentContext ( ) const
protectedinherited
void calib::MuondEdxAna::endJob ( )
overridevirtual

Reimplemented from art::EDFilter.

Definition at line 947 of file MuondEdxAna_module.cc.

References DEFINE_ART_MODULE().

948  {
949 
950  }
bool calib::MuondEdxAna::endRun ( art::Run r)
overridevirtual

Reimplemented from art::EDFilter.

Definition at line 932 of file MuondEdxAna_module.cc.

References fdEdx, fdEdx_minus, fdEdx_plus, fdEdx_true, art::TFileDirectory::make(), and art::Run::put().

932  {
933 
935  std::unique_ptr<TH2D> pdEdx(tfs->make<TH2D>(*fdEdx));
936  std::unique_ptr<TH2D> pdEdx_minus(tfs->make<TH2D>(*fdEdx_minus));
937  std::unique_ptr<TH2D> pdEdx_plus(tfs->make<TH2D>(*fdEdx_plus));
938  std::unique_ptr<TH2D> pdEdx_true(tfs->make<TH2D>(*fdEdx_true));
939 
940  r.put(std::move(pdEdx),"dEdx");
941  r.put(std::move(pdEdx_minus),"dEdxMinus");
942  r.put(std::move(pdEdx_plus),"dEdxPlus");
943  r.put(std::move(pdEdx_true),"dEdxTrue");
944  return true;
945  }
art::ProductID put(std::unique_ptr< PROD > &&)
Definition: Run.h:149
T * make(ARGS...args) const
void calib::MuondEdxAna::fillLowLevel ( double  PECorr,
double  PE,
double  trueE,
double  RecoGeV,
double  path,
double  w,
int  plane,
int  cell,
int  view,
int  diblock,
double  x,
double  trackLength,
double  FlightLength,
double  TotalTrackLength,
double  dCosX,
double  dCosY,
double  dCosZ 
)
protected

Definition at line 581 of file MuondEdxAna_module.cc.

References fDCosX, fDCosY, fDCosZ, fDiblock, fFlightLength, Fill(), fPE, fPE_X, fPE_Y, fPECorr, fPECorr_X, fPECorr_Y, fRecoGeV, fTrackEndDist, fTrackEndDistCustom, fTrackLength, fTrackLengthCustom, fTrueE, fTrueE_X, and fTrueE_Y.

Referenced by filter().

583  {
584 
585  fDCosX -> Fill(dCosX);
586  fDCosY -> Fill(dCosY);
587  fDCosZ -> Fill(dCosZ);
588  fDiblock -> Fill(diblock);
589  fPECorr -> Fill(PECorr/path);
590  fPE -> Fill(PE/path);
591  fTrueE -> Fill(trueE/path);
592  fRecoGeV -> Fill(1000 * RecoGeV/path);
593 
594 
595  /*
596  if( (
597  fGeo->DetId() == novadaq::cnv::kNEARDET &&
598  (
599  (view==0 && fMinFlatW_ND_x < w && w < fMaxFlatW_ND_x ) ||
600  (view==1 && fMinFlatW_ND_y < w && w < fMaxFlatW_ND_y )
601  )
602  ) || (
603  fGeo->DetId() == novadaq::cnv::kFARDET &&
604  (
605  (view==0 && fMinFlatW_FD_x < w && w < fMaxFlatW_FD_x ) ||
606  (view==1 && fMinFlatW_FD_y < w && w < fMaxFlatW_FD_y )
607  )
608  )
609  ){
610  fMEUreco_flat_w->Fill(PECorr/path);
611  fMEUtrue_flat_w->Fill(trueE/path);
612  }
613  */
614 
615  if(view == 0){
617  fPE_X -> Fill(PE/path);
618  fTrueE_X -> Fill(trueE/path);
619  }
620 
621  if(view == 1){
623  fPE_Y -> Fill(PE/path);
624  fTrueE_Y -> Fill(trueE/path);
625  }
626 
627  fTrackEndDist -> Fill(x);
628  fTrackEndDistCustom-> Fill(trackLength - FlightLength);
631  fTrackLengthCustom -> Fill(trackLength);
632 
633  }
correl_yv Fill(-(dy[iP-1][iC-1]), hyv->GetBinContent(iP, iC))
void calib::MuondEdxAna::fillRespVar ( double  PECorr,
double  PE,
double  trueE,
double  RecoGeV,
double  path,
double  w,
int  plane,
int  cell,
int  view,
double  tns,
double  EventTimeHigh,
int  run,
double  dCosX,
double  dCosY,
double  dCosZ,
int  diblock 
)
protected

Definition at line 635 of file MuondEdxAna_module.cc.

References fCell_X, fCell_Y, fEventTime, Fill(), fMevCell_X, fMevCell_Y, fMevDiblock, fMevPath, fMevPath_X, fMevPath_Y, fMeVPathW_X, fMeVPathW_Y, fMevPlane, fMevPlane_X, fMevPlane_Y, fMevW, fMevW_X, fMevW_Y, fPathLength, fPathLength_X, fPathLength_Y, fPathW_X, fPathW_Y, fPECorrCell_X, fPECorrCell_Y, fPECorrDiblock, fPECorrEventTime, fPECorrPath, fPECorrPath_X, fPECorrPath_Y, fPECorrPathW_X, fPECorrPathW_Y, fPECorrPlane, fPECorrPlane_X, fPECorrPlane_Y, fPECorrRun, fPECorrTNS, fPECorrW, fPECorrW_X, fPECorrW_Y, fPlane, fPlane_X, fPlane_Y, fRespDCosX, fRespDCosY, fRespDCosZ, fRun, fTNS, fW, fW_X, fW_Y, fWvsCell_0, fWvsCell_1, fWvsCell_MEV_0, fWvsCell_MEV_1, fWvsCell_PECorr_0, and fWvsCell_PECorr_1.

Referenced by filter().

637  {
638 
639  fPathLength -> Fill(path);
640  fPlane -> Fill(plane);
641  fW -> Fill(w);
644  fPECorrW -> Fill(w, PECorr/path);
645  fMevW -> Fill(w, trueE/path);
650  fTNS -> Fill(tns);
652  fRun -> Fill(run);
659 
660  if(view == 0){
661  fPathW_X -> Fill(w, path);
664  fPathLength_X -> Fill(path);
667  fPlane_X -> Fill(plane);
668  fW_X -> Fill(w);
671  fPECorrW_X -> Fill(w, PECorr/path);
672  fMevW_X -> Fill(w, trueE/path);
673  fCell_X -> Fill(cell);
678  fWvsCell_0 -> Fill(cell, w);
679 
680  }
681 
682  if(view == 1){
683  fPathW_Y -> Fill(w, path);
686  fPathLength_Y -> Fill(path);
689  fPlane_Y -> Fill(plane);
690  fW_Y -> Fill(w);
693  fPECorrW_Y -> Fill(w, PECorr/path);
694  fMevW_Y -> Fill(w, trueE/path);
695  fCell_Y -> Fill(cell);
700  fWvsCell_1 -> Fill(cell, w);
701 
702  }
703 
704  }
correl_yv Fill(-(dy[iP-1][iC-1]), hyv->GetBinContent(iP, iC))
Definition: run.py:1
bool calib::MuondEdxAna::filter ( art::Event e)
overridevirtual

Get the reconstructed tracks

Implements art::EDFilter.

Definition at line 323 of file MuondEdxAna_module.cc.

References APD, badTNS, cell, geo::GeometryBase::CellId(), PandAna.Demos.tute_pid_validation::cid, dCosX, dCosY, dCosZ, geo::GeometryBase::DetId(), diblock, distanceToLiveDetEdgeZ, geo::LiveGeometry::DistToBack(), geo::LiveGeometry::DistToEdgeZ(), geo::LiveGeometry::DistToFront(), EventTimeHigh, evt_day, evt_hour, evt_min, evt_month, evt_sec, evt_year, fb, fdEdx, fdEdx_minus, fdEdx_NearReadout, fdEdx_plus, fdEdx_true, fdEdx_true_NearReadout, fDistToBack_Stop, fDistToFront_Stop, fdPEdx, fGeo, fibBrightnessBin, Fill(), fillLowLevel(), fillRespVar(), geo::GeometryBase::FirstPlaneInMuonCatcher(), FlightLength, fParams, fTree, fWindowHitsPerTrack, fWindowOneViewTracks, fWindowPlanesPerTrack, fWindowTricellsPerTrack, fWindowViewsPerTrack, fWinHitsPlanesPerTrack, fWinTricellsHitsPerTrack, fWinTricellsPlanesPerTrack, fWinTricellsViewsPerTrack, photrans::FiberBrightness::getBrightnessIndex(), art::DataViewImpl::getByLabel(), getPECorr(), getPECorrToGeV(), geo::GeometryBase::getPlaneID(), hits(), MECModelEnuComparisons::i, makeTrainCVSamples::int, calib::j, novadaq::cnv::kNEARDET, Mag(), getGoodRuns4SAM::n, nhits, nXYHits, path, PE, PECorr, PECorrToGeV, plane, RecoGeV, art::Event::run(), sameAPDhitDiblockEvent, sameAPDhitsEvent, art::Event::time(), art::Timestamp::timeHigh(), tns, TotalTrackLength, trueE, truepath, truePE, trueW, view, w, and x.

324  {
325 
326  run = (int)(e.run());
327 
328  art::Timestamp ts = e.time();
329  EventTimeHigh = ts.timeHigh();
330  const time_t timeSec = ts.timeHigh();
331  struct tm* timeStruct = localtime(&timeSec);
332  evt_year=timeStruct->tm_year+1900;
333  evt_month=timeStruct->tm_mon+1;
334  evt_day=timeStruct->tm_mday;
335  evt_hour=timeStruct->tm_hour+1;
336  evt_min=timeStruct->tm_min;
337  evt_sec=timeStruct->tm_sec;
338 
340  //art::ServiceHandle<cheat::BackTracker> bt;
341 
342  /// Get the reconstructed tracks
344  e.getByLabel(fParams.stopperLabel(), tracks);
345  if( tracks->size() == 0 ) return false;
346 
347 
348  // Annoyingly need all since (XY + Z + Avg) = all hits in track
349  // PCHitTreeGetter gets the main hits to be put in tree
350  art::FindManyP<caldp::PCHit> PCHitTreeGetter(tracks, e,
351  art::InputTag(fParams.PCHitsLabel(),
352  fParams.qualTreeHitsName()));
353  art::FindManyP<caldp::PCHit> PCHitXYGetter( tracks, e,
354  art::InputTag(fParams.PCHitsLabel(),
355  fParams.qualXYName()));
356  art::FindManyP<caldp::PCHit> PCHitAvgGetter( tracks, e,
357  art::InputTag(fParams.PCHitsLabel(),
358  fParams.qualAvgName()));
359  art::FindManyP<caldp::PCHit> PCHitZGetter( tracks, e,
360  art::InputTag(fParams.PCHitsLabel(),
361  fParams.qualZName()));
362  if( !PCHitTreeGetter.isValid() ){
363  mf::LogInfo("MuondEdxAna") << "No hits for tree with label "
364  << fParams.qualTreeHitsName();
365  return false; }
366  if( !PCHitXYGetter.isValid() ){
367  mf::LogInfo("MuondEdxAna") << "No XY hits with label " << fParams.qualXYName();
368  return false; }
369  if( !PCHitAvgGetter.isValid() ){
370  mf::LogInfo("MuondEdxAna") << "No Avg hits with label " << fParams.qualAvgName();
371  return false; }
372  if( !PCHitZGetter.isValid() ){
373  mf::LogInfo("MuondEdxAna") << "No Z hits with label " << fParams.qualZName();
374  return false; }
375 
376 
377 
378  // loop over tracks in event
379  for( unsigned int i=0; i<tracks->size(); ++i ){
380 
381  //track level counters:
382  int windowTricells = 0;
383  int windowAvgHits = 0;
384  int windowZHits = 0;
385  int windowPlanes = 0;
386  std::vector<bool> trackWindowPlanes (1000, false); //vector to prevent double counting planes
387 
388  bool windowXView = false;
389  bool windowYView = false;
390 
391  //make custom track length to check against inbuilt length
392  TVector3 startXYZ = (*tracks)[i].Start();
393  TVector3 stopXYZ = (*tracks)[i].Stop();
394  double trackLength = (startXYZ-stopXYZ).Mag();
395 
396  // needed for track window, but good generally to reject protons
397  if( (*tracks)[i].TotalLength() < 200. ) continue;
398 
400  int stopPlaneID = 10000;
401  int firstMuCPlane = -1;
402  bool isNearDet = false;
403 
404  //remove tracks that stop outside/ near edge of the active detector. New files won't need this as the selection is in the updated pchitslist_module.
406  distanceToLiveDetEdgeZ = fLiveGeom->DistToEdgeZ((*tracks)[i].Stop());
407 
408  //continue if track ends in the muon catcher
410  isNearDet = true;
411  cid = fGeo->CellId(stopXYZ[0], stopXYZ[1], stopXYZ[2], 1.5, 1.5, 6., 1.0);
412  if(cid) stopPlaneID = fGeo->getPlaneID(cid);
413  firstMuCPlane = fGeo->FirstPlaneInMuonCatcher();
414  if(stopPlaneID >= firstMuCPlane) continue;
415  }
416 
418  fDistToFront_Stop -> Fill(livegeom->DistToFront(stopXYZ));
419  fDistToBack_Stop -> Fill(livegeom->DistToBack(stopXYZ));
420 
421  // xy and z conditions are mutually exclusive,
422  // avg hits are just the rest in the track
423  // so xy + z + avg is all the hits in the track
424  std::vector<art::Ptr<caldp::PCHit> > xyhits = PCHitXYGetter.at(i);
425  std::vector<art::Ptr<caldp::PCHit> > avghits = PCHitAvgGetter.at(i);
426  std::vector<art::Ptr<caldp::PCHit> > zhits = PCHitZGetter.at(i);
427  nhits = xyhits.size() + avghits.size() + zhits.size();
428 
429  // hits to loop through and fill tree
430  std::vector<art::Ptr<caldp::PCHit> > hits = PCHitTreeGetter.at(i);
431 
432  // ---------------- Fill vector containing hits per APD ---------------------- //
433  std::vector<int> APDhits (100,0);
434  std::vector< std::vector<int> > DiblockAPDhits (100, std::vector<int> (100,0));
435  badTNS = false; //temporary handle for showery events in old data
436 
437  // tricell hits
438  for( unsigned int n=0; n<xyhits.size(); ++n ){
439  APDhits[xyhits[n]->APD()] += 1;
440  DiblockAPDhits.at(xyhits[n]->Diblock()).at(xyhits[n]->APD()) += 1;
441  if(xyhits[n]->TNS() < 0 || xyhits[n]->TNS() > 1400) badTNS = true;
442  }
443  //avg. hits
444  for( unsigned int p=0; p<avghits.size(); ++p ) {
445  APDhits[avghits[p]->APD()] += 1;
446  DiblockAPDhits.at(avghits[p]->Diblock()).at(avghits[p]->APD()) += 1;
447  if(avghits[p]->TNS() < 0 || avghits[p]->TNS() > 1400) badTNS = true;
448  FlightLength = avghits[p]->FlightLen();
449  TotalTrackLength = (*tracks)[i].TotalLength();
450  x = trackLength - FlightLength;
451  if(x<100 || x>200) continue;
452  windowAvgHits ++; //track level counters
453  }
454  //z hits
455  for( unsigned int q=0; q<zhits.size(); ++q ){
456  APDhits[zhits[q]->APD()] += 1;
457  DiblockAPDhits.at(zhits[q]->Diblock()).at(zhits[q]->APD()) += 1;
458  if(zhits[q]->TNS() < 0 || zhits[q]->TNS() > 1400) badTNS = true;
459  FlightLength = zhits[q]->FlightLen();
460  TotalTrackLength = (*tracks)[i].TotalLength();
461  x = trackLength - FlightLength;
462  if(x<100 || x>200) continue;
463  windowZHits ++; //track level counters
464  }
465  // ---------------- Filled APD vector -------------------------------------------- //
466 
467  //cosine giving initial direction of track
468  dCosX = (*tracks)[i].Dir().X()/(*tracks)[i].Dir().Mag();
469  dCosY = (*tracks)[i].Dir().Y()/(*tracks)[i].Dir().Mag();
470  dCosZ = (*tracks)[i].Dir().Z()/(*tracks)[i].Dir().Mag();
471 
472  for( unsigned int j=0; j<hits.size(); ++j ){
473 
474  if(isNearDet)
475  if(hits[j]->Plane() >= firstMuCPlane) continue;
476 
477  /*
478  int p = hits[j]->Plane();
479  int c = hits[j]->Cell();
480  rb::CellHit chit;
481  chit.SetPlane( p );
482  chit.SetCell ( c );
483  //double tns_calib = hits[j]->TNS() + fCalib->GetTimingOffset(p,c,e.isRealData());
484  double tns_calib = hits[j]->TNS();
485  chit.SetTNS(tns_calib,hits[j]->GoodTime()); // may need to get offset from calibrator...
486  if(!e.isRealData())chit.SetMC(); // assume only filled for MC...
487  const std::vector<sim::FLSHit> flss = bt->HitToFLSHit(chit);
488  int lastpdg=0;
489  bool uniformPdg=true;
490  for(const sim::FLSHit& fls: flss){
491  if(lastpdg!=fls.GetPDG() && lastpdg!=0){
492  std::cout << "multiple pdg in flshit: "
493  << lastpdg << " vs. " << fls.GetPDG() << std::endl;
494  uniformPdg = false;
495  }
496  lastpdg=fls.GetPDG();
497  }
498  if(flss.size()>0 && uniformPdg)
499  pdg = flss[0].GetPDG();
500  else pdg = -1;
501  */
502 
503  //test poisson lambda:
504  //double poissonLambda = hits[j]->PoissonLambda();
505  //std::cout<< "poissonLambda: " << poissonLambda <<std::endl;
506 
507  nXYHits = hits.size();
508  diblock = hits[j]->Diblock();
509  view = (int)hits[j]->View();
510  FlightLength = hits[j]->FlightLen();
511  TotalTrackLength= (*tracks)[i].TotalLength();
512  x = trackLength - FlightLength;
513  plane = hits[j]->Plane();
514  path = hits[j]->Path();
515  truepath = hits[j]->TruePath();
516  trueW = hits[j]->TrueW();
517  trueE = hits[j]->TrueMeV();
518  PE = hits[j]->PE();
519  truePE = hits[j]->TruePE();
520  PECorr = this->getPECorr(e,*hits[j]);
521  PECorrToGeV = this->getPECorrToGeV(e,*hits[j]);
523  tns = hits[j]->TNS();
524  cell = hits[j]->Cell();
525  w = hits[j]->W();
526  APD = hits[j]->APD();
527  sameAPDhitsEvent= APDhits[APD];
528  sameAPDhitDiblockEvent = DiblockAPDhits[diblock][APD];
530 
531  fTree->Fill(); //fill ttree
532 
533  fdPEdx ->Fill(x,PE/path);
534  fdEdx ->Fill(x,PECorr/path);
535  fdEdx_minus->Fill(x-fParams.endPSystShift(),PECorr/path);
536  fdEdx_plus ->Fill(x+fParams.endPSystShift(),PECorr/path);
537  fdEdx_true ->Fill(x,trueE/path);
538 
539  if(w > 0){
542  }
543 
544  if(x<100 || x>200) continue;
545 
546  //track level counters
547  windowTricells ++;
548  if(view == 0) windowXView = true;
549  if(view == 1) windowYView = true;
550  //check if plane already counted
551  if(trackWindowPlanes[plane] == false) windowPlanes ++;
552  trackWindowPlanes[plane] = true;
553 
555  fillLowLevel(PECorr, PE, trueE, RecoGeV, path, w, plane, cell, view, diblock, x, trackLength, FlightLength, TotalTrackLength, dCosX, dCosY, dCosZ);
556 
557  } // loop through hits
558 
559  fWindowTricellsPerTrack -> Fill(windowTricells);
560  fWindowPlanesPerTrack -> Fill(windowPlanes);
561  fWindowHitsPerTrack -> Fill(windowTricells + windowAvgHits + windowZHits);
562  fWinTricellsHitsPerTrack -> Fill(windowTricells,windowTricells + windowAvgHits + windowZHits);
563  fWinTricellsPlanesPerTrack -> Fill(windowTricells,windowPlanes);
564  fWinHitsPlanesPerTrack -> Fill(windowTricells + windowAvgHits + windowZHits, windowPlanes);
565 
566  int nViewsInWindow = 0;
567  if(windowXView == true) nViewsInWindow++;
568  if(windowYView == true) nViewsInWindow++;
569 
570  fWinTricellsViewsPerTrack -> Fill(windowTricells,nViewsInWindow);
571  fWindowViewsPerTrack -> Fill(nViewsInWindow);
572  if(nViewsInWindow == 1){
573  if(windowXView) fWindowOneViewTracks -> Fill(0);
574  if(windowYView) fWindowOneViewTracks -> Fill(1);
575  }
576  }
577 
578  return true;
579  }
MaybeLogger_< ELseverityLevel::ELsev_info, false > LogInfo
void fillLowLevel(double PECorr, double PE, double trueE, double RecoGeV, double path, double w, int plane, int cell, int view, int diblock, double x, double trackLength, double FlightLength, double TotalTrackLength, double dCosX, double dCosY, double dCosZ)
const char * p
Definition: xmltok.h:285
constexpr std::uint32_t timeHigh() const
Definition: Timestamp.h:35
double DistToFront(TVector3 vertex)
double DistToBack(TVector3 vertex)
unsigned int getBrightnessIndex(unsigned int plane, unsigned int cell) const
void hits()
Definition: readHits.C:15
double DistToEdgeZ(TVector3 vertex)
double getPECorrToGeV(art::Event &e, caldp::PCHit const &pchit)
correl_yv Fill(-(dy[iP-1][iC-1]), hyv->GetBinContent(iP, iC))
int getPlaneID(const CellUniqueId &id) const
novadaq::cnv::DetId DetId() const
Prefer ds::DetectorService::DetId() instead.
Definition: GeometryBase.h:243
Near Detector in the NuMI cavern.
const CellUniqueId CellId(const double &x, const double &y, const double &z, double dxds=0., double dyds=0., double dzds=1., double step=0.01) const
const double j
Definition: BetheBloch.cxx:29
void fillRespVar(double PECorr, double PE, double trueE, double RecoGeV, double path, double w, int plane, int cell, int view, double tns, double EventTimeHigh, int run, double dCosX, double dCosY, double dCosZ, int diblock)
Definition: View.py:1
Definition: run.py:1
unsigned long long int CellUniqueId
Definition: CellUniqueId.h:15
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const
Definition: DataViewImpl.h:344
float Mag() const
Timestamp time() const
Definition: Event.h:61
art::ServiceHandle< geo::Geometry > fGeo
RunNumber_t run() const
Definition: Event.h:77
double getPECorr(art::Event &e, caldp::PCHit const &pchit)
MuondEdxAnaParams fParams
const unsigned int FirstPlaneInMuonCatcher() const
Returns the index of the first plane contained in the muon catcher.
seed_t art::EngineCreator::get_seed_value ( fhicl::ParameterSet const &  pset,
char const  key[] = "seed",
seed_t const  implicit_seed = -1 
)
inherited
double calib::MuondEdxAna::getPECorr ( art::Event e,
caldp::PCHit const &  pchit 
)
protected

Definition at line 706 of file MuondEdxAna_module.cc.

References caldp::PCHit::Cell(), fCalib, calib::Calibrator::GetPECorr(), caldp::PCHit::GoodTime(), art::Event::isRealData(), caldp::PCHit::PE(), caldp::PCHit::Plane(), rb::CellHit::SetCell(), rawdata::RawDigit::SetMC(), rb::CellHit::SetPE(), rb::CellHit::SetPlane(), rb::CellHit::SetTNS(), rb::CellHit::SetView(), caldp::PCHit::TNS(), caldp::PCHit::View(), and caldp::PCHit::W().

Referenced by filter().

706  {
707 
708  //Make mock cellhit
709  rb::CellHit cellhit;
710  cellhit.SetPlane(pchit.Plane());
711  cellhit.SetCell(pchit.Cell());
712  cellhit.SetView(pchit.View());
713  cellhit.SetTNS(pchit.TNS(),pchit.GoodTime());
714  if(!e.isRealData())cellhit.SetMC(); // assume only filled for MC...
715  cellhit.SetPE(pchit.PE());
716 
717  double pecorr = fCalib->GetPECorr(cellhit, pchit.W());
718  return pecorr;
719  }
void SetTNS(float tns, bool good)
Definition: CellHit.h:56
bool isRealData() const
Definition: Event.h:83
void SetView(geo::View_t view)
Definition: CellHit.h:54
void SetPlane(unsigned short plane)
Definition: CellHit.h:53
void SetCell(unsigned short cell)
Definition: CellHit.h:52
art::ServiceHandle< calib::Calibrator > fCalib
void SetPE(float pe)
Definition: CellHit.h:55
void SetMC(bool isMC=true)
Definition: RawDigit.h:106
A rawdata::RawDigit with channel information decoded.
Definition: CellHit.h:27
double GetPECorr(rb::CellHit const &cellhit, double w)
double calib::MuondEdxAna::getPECorrToGeV ( art::Event e,
caldp::PCHit const &  pchit 
)
protected

Definition at line 721 of file MuondEdxAna_module.cc.

References fCalib, calib::Calibrator::GetPECorrToGeVScale(), art::Event::isRealData(), and rawdata::RawDigit::SetMC().

Referenced by filter().

721  {
722 
723  rb::CellHit cellhit;
724  if(!e.isRealData()) cellhit.SetMC(); // assume only filled for MC...
725 
726  double pecorrtogev = fCalib->GetPECorrToGeVScale(cellhit);
727  return pecorrtogev;
728  }
double GetPECorrToGeVScale(rb::CellHit const &cellhit)
bool isRealData() const
Definition: Event.h:83
art::ServiceHandle< calib::Calibrator > fCalib
void SetMC(bool isMC=true)
Definition: RawDigit.h:106
A rawdata::RawDigit with channel information decoded.
Definition: CellHit.h:27
template<typename PROD , BranchType B>
ProductID art::EDFilter::getProductID ( std::string const &  instanceName = {}) const
inlineinherited

Definition at line 131 of file EDFilter.h.

References art::EDFilter::moduleDescription_.

Referenced by novaddt::HoughTrackMaker::create_associations().

132  {
133  return ProducerBase::getProductID<PROD, B>(moduleDescription_,
134  instanceName);
135  }
ModuleDescription moduleDescription_
Definition: EDFilter.h:124
template<typename PROD , BranchType B>
ProductID art::ProducerBase::getProductID ( ModuleDescription const &  moduleDescription,
std::string const &  instanceName 
) const
inherited

Definition at line 56 of file ProducerBase.h.

References art::ModuleDescription::moduleLabel().

Referenced by art::ProducerBase::modifiesEvent().

58  {
59  auto const& pd =
60  get_ProductDescription<PROD>(B, md.moduleLabel(), instanceName);
61  return pd.productID();
62  }
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::mayConsume ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::mayConsume ( InputTag const &  it)
inherited

Definition at line 189 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

190 {
191  if (!moduleContext_)
192  return ProductToken<T>::invalid();
193 
194  consumables_[BT].emplace_back(ConsumableType::Product,
195  TypeID{typeid(T)},
196  it.label(),
197  it.instance(),
198  it.process());
199  return ProductToken<T>{it};
200 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::mayConsumeMany ( )
inherited

Definition at line 204 of file Consumer.h.

References T.

205 {
206  if (!moduleContext_)
207  return;
208 
209  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
210 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::mayConsumeView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::mayConsumeView ( InputTag const &  it)
inherited

Definition at line 214 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

215 {
216  if (!moduleContext_)
217  return ViewToken<T>::invalid();
218 
219  consumables_[BT].emplace_back(ConsumableType::ViewElement,
220  TypeID{typeid(T)},
221  it.label(),
222  it.instance(),
223  it.process());
224  return ViewToken<T>{it};
225 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
bool art::ProducerBase::modifiesEvent ( ) const
inlineinherited

Definition at line 40 of file ProducerBase.h.

References art::ProducerBase::getProductID(), and string.

41  {
42  return true;
43  }
static cet::exempt_ptr<Consumer> art::Consumer::non_module_context ( )
staticinherited
void art::Consumer::prepareForJob ( fhicl::ParameterSet const &  pset)
protectedinherited
void art::Consumer::showMissingConsumes ( ) const
protectedinherited

Referenced by art::RootOutput::endJob().

void art::Consumer::validateConsumedProduct ( BranchType const  bt,
ProductInfo const &  pi 
)
protectedinherited

Member Data Documentation

int calib::MuondEdxAna::APD
protected

Definition at line 281 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

bool calib::MuondEdxAna::badTNS
protected

Definition at line 286 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::cell
protected

Definition at line 268 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::dCosX
protected

Definition at line 287 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::dCosY
protected

Definition at line 288 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::dCosZ
protected

Definition at line 289 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

int calib::MuondEdxAna::diblock
protected

Definition at line 252 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::distanceToLiveDetEdgeZ
protected

Definition at line 272 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

uint32_t calib::MuondEdxAna::EventTimeHigh
protected

Definition at line 267 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

int calib::MuondEdxAna::evt_day
protected

Definition at line 277 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

int calib::MuondEdxAna::evt_hour
protected

Definition at line 278 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

int calib::MuondEdxAna::evt_min
protected

Definition at line 279 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

int calib::MuondEdxAna::evt_month
protected

Definition at line 276 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

int calib::MuondEdxAna::evt_sec
protected

Definition at line 280 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

int calib::MuondEdxAna::evt_year
protected

Definition at line 275 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

constexpr bool art::EDFilter::Fail {false}
staticinherited

Definition at line 33 of file EDFilter.h.

Referenced by evgen::GENIEFilter::filter().

art::ServiceHandle<calib::Calibrator> calib::MuondEdxAna::fCalib
protected

Definition at line 120 of file MuondEdxAna_module.cc.

Referenced by getPECorr(), and getPECorrToGeV().

TH1D* calib::MuondEdxAna::fCell_X
protected

Definition at line 185 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fCell_Y
protected

Definition at line 186 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fDCosX
protected

Definition at line 235 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fDCosY
protected

Definition at line 236 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fDCosZ
protected

Definition at line 237 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH2D* calib::MuondEdxAna::fdEdx
protected

Definition at line 123 of file MuondEdxAna_module.cc.

Referenced by beginJob(), endRun(), and filter().

TH2D* calib::MuondEdxAna::fdEdx_minus
protected

Definition at line 125 of file MuondEdxAna_module.cc.

Referenced by beginJob(), endRun(), and filter().

TH2D* calib::MuondEdxAna::fdEdx_MuonCatch
protected

Definition at line 124 of file MuondEdxAna_module.cc.

Referenced by beginJob().

TH2D* calib::MuondEdxAna::fdEdx_NearReadout
protected

Definition at line 130 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH2D* calib::MuondEdxAna::fdEdx_plus
protected

Definition at line 126 of file MuondEdxAna_module.cc.

Referenced by beginJob(), endRun(), and filter().

TH2D* calib::MuondEdxAna::fdEdx_true
protected

Definition at line 127 of file MuondEdxAna_module.cc.

Referenced by beginJob(), endRun(), and filter().

TH2D* calib::MuondEdxAna::fdEdx_true_MuonCatch
protected

Definition at line 128 of file MuondEdxAna_module.cc.

Referenced by beginJob().

TH2D* calib::MuondEdxAna::fdEdx_true_NearReadout
protected

Definition at line 131 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH1D* calib::MuondEdxAna::fDeltaEndPlane
protected

Definition at line 246 of file MuondEdxAna_module.cc.

Referenced by beginJob().

TH1D* calib::MuondEdxAna::fDeltaStartPlane
protected

Definition at line 245 of file MuondEdxAna_module.cc.

Referenced by beginJob().

TProfile* calib::MuondEdxAna::fDetRespEvtTime
protected

Definition at line 243 of file MuondEdxAna_module.cc.

Referenced by beginJob().

TH1D* calib::MuondEdxAna::fDiblock
protected

Definition at line 144 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fDistToBack_Stop
protected

Definition at line 214 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH1D* calib::MuondEdxAna::fDistToFront_Stop
protected

Definition at line 213 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH2D* calib::MuondEdxAna::fdPEdx
protected

Definition at line 201 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH1D* calib::MuondEdxAna::fEventTime
protected

Definition at line 218 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fEvtTime
protected

Definition at line 242 of file MuondEdxAna_module.cc.

Referenced by beginJob().

TH1D* calib::MuondEdxAna::fFlightLength
protected

Definition at line 204 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

art::ServiceHandle<geo::Geometry> calib::MuondEdxAna::fGeo
protected

Definition at line 121 of file MuondEdxAna_module.cc.

Referenced by filter().

float calib::MuondEdxAna::fibBrightnessBin
protected

Definition at line 290 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::FlightLength
protected

Definition at line 254 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TProfile* calib::MuondEdxAna::fMevCell_X
protected

Definition at line 189 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fMevCell_Y
protected

Definition at line 190 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fMevDiblock
protected

Definition at line 146 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fMevPath
protected

Definition at line 164 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fMevPath_X
protected

Definition at line 165 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fMevPath_Y
protected

Definition at line 166 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile2D* calib::MuondEdxAna::fMeVPathW_X
protected

Definition at line 182 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile2D* calib::MuondEdxAna::fMeVPathW_Y
protected

Definition at line 183 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fMevPlane
protected

Definition at line 154 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fMevPlane_X
protected

Definition at line 155 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fMevPlane_Y
protected

Definition at line 156 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fMevW
protected

Definition at line 174 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fMevW_X
protected

Definition at line 175 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fMevW_Y
protected

Definition at line 176 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

MuondEdxAnaParams calib::MuondEdxAna::fParams
protected

Definition at line 108 of file MuondEdxAna_module.cc.

Referenced by filter(), and MuondEdxAna().

TH1D* calib::MuondEdxAna::fPathLength
protected

Definition at line 158 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fPathLength_X
protected

Definition at line 159 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fPathLength_Y
protected

Definition at line 160 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH2D* calib::MuondEdxAna::fPathW_X
protected

Definition at line 178 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH2D* calib::MuondEdxAna::fPathW_Y
protected

Definition at line 179 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fPE
protected

Definition at line 134 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fPE_X
protected

Definition at line 137 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fPE_Y
protected

Definition at line 140 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fPECorr
protected

Definition at line 133 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fPECorr_X
protected

Definition at line 136 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fPECorr_Y
protected

Definition at line 139 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TProfile* calib::MuondEdxAna::fPECorrCell_X
protected

Definition at line 187 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrCell_Y
protected

Definition at line 188 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrDiblock
protected

Definition at line 145 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrEventTime
protected

Definition at line 221 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrPath
protected

Definition at line 161 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrPath_X
protected

Definition at line 162 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrPath_Y
protected

Definition at line 163 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile2D* calib::MuondEdxAna::fPECorrPathW_X
protected

Definition at line 180 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile2D* calib::MuondEdxAna::fPECorrPathW_Y
protected

Definition at line 181 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrPlane
protected

Definition at line 151 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrPlane_X
protected

Definition at line 152 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrPlane_Y
protected

Definition at line 153 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrRun
protected

Definition at line 220 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrTNS
protected

Definition at line 219 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrW
protected

Definition at line 171 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrW_X
protected

Definition at line 172 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fPECorrW_Y
protected

Definition at line 173 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fPlane
protected

Definition at line 148 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fPlane_X
protected

Definition at line 149 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fPlane_Y
protected

Definition at line 150 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fPlaneAsymmetry
protected

Definition at line 247 of file MuondEdxAna_module.cc.

Referenced by beginJob().

TH2D* calib::MuondEdxAna::fPlaneAsymmetry2D
protected

Definition at line 248 of file MuondEdxAna_module.cc.

Referenced by beginJob().

TH1D* calib::MuondEdxAna::fRecoGeV
protected

Definition at line 142 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TProfile* calib::MuondEdxAna::fRespDCosX
protected

Definition at line 238 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fRespDCosY
protected

Definition at line 239 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TProfile* calib::MuondEdxAna::fRespDCosZ
protected

Definition at line 240 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fRun
protected

Definition at line 217 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fStopPlane
protected

Definition at line 208 of file MuondEdxAna_module.cc.

Referenced by beginJob().

TH1D* calib::MuondEdxAna::fStopPlane_liveGeomCut
protected

Definition at line 209 of file MuondEdxAna_module.cc.

Referenced by beginJob().

TH1D* calib::MuondEdxAna::fTNS
protected

Definition at line 216 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fTrackEndDist
protected

Definition at line 202 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fTrackEndDistCustom
protected

Definition at line 203 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fTrackEndPlane
protected

Definition at line 210 of file MuondEdxAna_module.cc.

Referenced by beginJob().

TH1D* calib::MuondEdxAna::ftrackEndPlaneWithinDiblock
protected

Definition at line 211 of file MuondEdxAna_module.cc.

Referenced by beginJob().

TH1D* calib::MuondEdxAna::fTrackLength
protected

Definition at line 205 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fTrackLengthCustom
protected

Definition at line 206 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TTree* calib::MuondEdxAna::fTree
protected

Definition at line 250 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH1D* calib::MuondEdxAna::fTrueE
protected

Definition at line 135 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fTrueE_X
protected

Definition at line 138 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fTrueE_Y
protected

Definition at line 141 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillLowLevel().

TH1D* calib::MuondEdxAna::fW
protected

Definition at line 168 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fW_X
protected

Definition at line 169 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fW_Y
protected

Definition at line 170 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH1D* calib::MuondEdxAna::fWindowHitsPerTrack
protected

Definition at line 225 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH1D* calib::MuondEdxAna::fWindowOneViewTracks
protected

Definition at line 228 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH1D* calib::MuondEdxAna::fWindowPlanesPerTrack
protected

Definition at line 226 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH1D* calib::MuondEdxAna::fWindowTricellsPerTrack
protected

Definition at line 224 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH1D* calib::MuondEdxAna::fWindowViewsPerTrack
protected

Definition at line 227 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH2D* calib::MuondEdxAna::fWinHitsPlanesPerTrack
protected

Definition at line 232 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH2D* calib::MuondEdxAna::fWinTricellsHitsPerTrack
protected

Definition at line 230 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH2D* calib::MuondEdxAna::fWinTricellsPlanesPerTrack
protected

Definition at line 231 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH2D* calib::MuondEdxAna::fWinTricellsViewsPerTrack
protected

Definition at line 233 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

TH2D* calib::MuondEdxAna::fWvsCell_0
protected

Definition at line 198 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH2D* calib::MuondEdxAna::fWvsCell_1
protected

Definition at line 199 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH3D* calib::MuondEdxAna::fWvsCell_MEV_0
protected

Definition at line 196 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH3D* calib::MuondEdxAna::fWvsCell_MEV_1
protected

Definition at line 197 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH3D* calib::MuondEdxAna::fWvsCell_PE_0
protected

Definition at line 194 of file MuondEdxAna_module.cc.

TH3D* calib::MuondEdxAna::fWvsCell_PE_1
protected

Definition at line 195 of file MuondEdxAna_module.cc.

TH3D* calib::MuondEdxAna::fWvsCell_PECorr_0
protected

Definition at line 192 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

TH3D* calib::MuondEdxAna::fWvsCell_PECorr_1
protected

Definition at line 193 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and fillRespVar().

int calib::MuondEdxAna::nhits
protected

Definition at line 284 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

const uint32_t calib::MuondEdxAna::NOVA_EPOCH = 1262304000
protected

Definition at line 298 of file MuondEdxAna_module.cc.

const unsigned long long calib::MuondEdxAna::NOVA_TIME_FACTOR = 64000000
protected

Definition at line 299 of file MuondEdxAna_module.cc.

int calib::MuondEdxAna::nXYHits
protected

Definition at line 285 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

constexpr bool art::EDFilter::Pass {true}
staticinherited

Definition at line 32 of file EDFilter.h.

Referenced by evgen::GENIEFilter::filter().

float calib::MuondEdxAna::path
protected
int calib::MuondEdxAna::pdg
protected

Definition at line 273 of file MuondEdxAna_module.cc.

Referenced by beginJob().

float calib::MuondEdxAna::PE
protected

Definition at line 263 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::PECorr
protected

Definition at line 265 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::PECorrToGeV
protected

Definition at line 270 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::plane
protected

Definition at line 258 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::RecoGeV
protected

Definition at line 271 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

int calib::MuondEdxAna::run
protected

Definition at line 274 of file MuondEdxAna_module.cc.

Referenced by Metric.Metric::__repr__(), and fabricate.Builder::memoize().

int calib::MuondEdxAna::sameAPDhitDiblockEvent
protected

Definition at line 283 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

int calib::MuondEdxAna::sameAPDhitsEvent
protected

Definition at line 282 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::tns
protected

Definition at line 266 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::TotalTrackLength
protected

Definition at line 255 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::trueE
protected

Definition at line 262 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::truepath
protected

Definition at line 260 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::truePE
protected

Definition at line 264 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::trueW
protected

Definition at line 261 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

int calib::MuondEdxAna::view
protected

Definition at line 253 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::w
protected

Definition at line 269 of file MuondEdxAna_module.cc.

Referenced by beginJob(), and filter().

float calib::MuondEdxAna::x
protected
float calib::MuondEdxAna::xCust
protected

Definition at line 257 of file MuondEdxAna_module.cc.

Referenced by beginJob().


The documentation for this class was generated from the following file: