Public Types | 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::detail::Filter art::detail::LegacyModule art::Modifier art::ModuleBase art::ProductRegistryHelper

Public Types

using Parameters = art::EDFilter::Table< MuondEdxAnaParams >
 
using ModuleType = EDFilter
 
using WorkerType = WorkerT< EDFilter >
 
template<typename UserConfig >
using Table = Modifier::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
 
std::string workerType () const
 
void doBeginJob ()
 
void doEndJob ()
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToOpenOutputFiles (FileBlock const &fb)
 
void doRespondToCloseOutputFiles (FileBlock const &fb)
 
bool doBeginRun (RunPrincipal &rp, ModuleContext const &)
 
bool doEndRun (RunPrincipal &rp, ModuleContext const &mc)
 
bool doBeginSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEndSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEvent (EventPrincipal &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed)
 
ModuleDescription const & moduleDescription () const
 
void setModuleDescription (ModuleDescription const &)
 
std::array< std::vector< ProductInfo >, NumBranchTypes > const & getConsumables () const
 
void sortConsumables (std::string const &current_process_name)
 
template<typename T , BranchType BT>
ViewToken< TconsumesView (InputTag const &tag)
 
template<typename T , BranchType BT>
ViewToken< TmayConsumeView (InputTag const &tag)
 

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)
 
ConsumesCollector & consumesCollector ()
 
template<typename T , BranchType = InEvent>
ProductToken< Tconsumes (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename T , BranchType = InEvent>
ProductToken< TmayConsume (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 

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

Definition at line 19 of file EDFilter.h.

Definition at line 97 of file MuondEdxAna_module.cc.

template<typename UserConfig >
using art::detail::Filter::Table = Modifier::Table<UserConfig>
inherited

Definition at line 29 of file Filter.h.

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

Definition at line 20 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  : EDFilter(params)
306  , fParams(params())
307  {
308  produces< TH2D, art::InRun >("dEdx");
309  produces< TH2D, art::InRun >("dEdxMinus");
310  produces< TH2D, art::InRun >("dEdxPlus");
311  produces< TH2D, art::InRun >("dEdxTrue");
312 
313  mf::LogInfo("MuondEdxAna") << "Filling Tree with hits labelled: "
314  << fParams.qualTreeHitsName();
315 
316 
317  }
MaybeLogger_< ELseverityLevel::ELsev_info, false > LogInfo
EDFilter(fhicl::ParameterSet const &pset)
Definition: EDFilter.h:22
MuondEdxAnaParams fParams
calib::MuondEdxAna::~MuondEdxAna ( )
virtual

Definition at line 319 of file MuondEdxAna_module.cc.

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

Member Function Documentation

void calib::MuondEdxAna::beginJob ( )
overridevirtual

Reimplemented from art::EDFilter.

Definition at line 732 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, nhits, nXYHits, path, pdg, PE, PECorr, PECorrToGeV, plane, cet::pow(), RecoGeV, sameAPDhitDiblockEvent, sameAPDhitsEvent, tns, TotalTrackLength, trueE, truepath, truePE, trueW, view, w, x, and xCust.

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

Reimplemented from art::EDFilter.

Definition at line 929 of file MuondEdxAna_module.cc.

929  {
930  return true;
931  }
template<typename T , BranchType BT>
ProductToken< T > art::ModuleBase::consumes ( InputTag const &  tag)
protectedinherited

Definition at line 55 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::consumes(), T, and getGoodRuns4SAM::tag.

56  {
57  return collector_.consumes<T, BT>(tag);
58  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
ProductToken< T > consumes(InputTag const &)
double T
Definition: Xdiff_gwt.C:5
ConsumesCollector& art::ModuleBase::consumesCollector ( )
protectedinherited
template<typename T , BranchType BT>
void art::ModuleBase::consumesMany ( )
protectedinherited

Definition at line 69 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::consumesMany(), and T.

70  {
71  collector_.consumesMany<T, BT>();
72  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
double T
Definition: Xdiff_gwt.C:5
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::consumesView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::consumesView ( InputTag const &  tag)
inherited

Definition at line 62 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::consumesView(), T, and getGoodRuns4SAM::tag.

63  {
64  return collector_.consumesView<T, BT>(tag);
65  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
ViewToken< Element > consumesView(InputTag const &)
double T
Definition: Xdiff_gwt.C:5
void art::detail::Filter::doBeginJob ( )
inherited
bool art::detail::Filter::doBeginRun ( RunPrincipal rp,
ModuleContext const &   
)
inherited
bool art::detail::Filter::doBeginSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
inherited
void art::detail::Filter::doEndJob ( )
inherited
bool art::detail::Filter::doEndRun ( RunPrincipal rp,
ModuleContext const &  mc 
)
inherited
bool art::detail::Filter::doEndSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
inherited
bool art::detail::Filter::doEvent ( EventPrincipal ep,
ModuleContext const &  mc,
std::atomic< std::size_t > &  counts_run,
std::atomic< std::size_t > &  counts_passed,
std::atomic< std::size_t > &  counts_failed 
)
inherited
void art::detail::Filter::doRespondToCloseInputFile ( FileBlock const &  fb)
inherited
void art::detail::Filter::doRespondToCloseOutputFiles ( FileBlock const &  fb)
inherited
void art::detail::Filter::doRespondToOpenInputFile ( FileBlock const &  fb)
inherited
void art::detail::Filter::doRespondToOpenOutputFiles ( FileBlock const &  fb)
inherited
void calib::MuondEdxAna::endJob ( )
overridevirtual

Reimplemented from art::EDFilter.

Definition at line 948 of file MuondEdxAna_module.cc.

References DEFINE_ART_MODULE().

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

Reimplemented from art::EDFilter.

Definition at line 933 of file MuondEdxAna_module.cc.

References fdEdx, fdEdx_minus, fdEdx_plus, fdEdx_true, and art::DataViewImpl::put().

933  {
934 
936  std::unique_ptr<TH2D> pdEdx(tfs->make<TH2D>(*fdEdx));
937  std::unique_ptr<TH2D> pdEdx_minus(tfs->make<TH2D>(*fdEdx_minus));
938  std::unique_ptr<TH2D> pdEdx_plus(tfs->make<TH2D>(*fdEdx_plus));
939  std::unique_ptr<TH2D> pdEdx_true(tfs->make<TH2D>(*fdEdx_true));
940 
941  r.put(std::move(pdEdx),"dEdx");
942  r.put(std::move(pdEdx_minus),"dEdxMinus");
943  r.put(std::move(pdEdx_plus),"dEdxPlus");
944  r.put(std::move(pdEdx_true),"dEdxTrue");
945  return true;
946  }
ProductID put(std::unique_ptr< PROD > &&edp, FullSemantic< Level::Run > const semantic)
Definition: DataViewImpl.h:730
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 582 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().

584  {
585 
586  fDCosX -> Fill(dCosX);
587  fDCosY -> Fill(dCosY);
588  fDCosZ -> Fill(dCosZ);
589  fDiblock -> Fill(diblock);
590  fPECorr -> Fill(PECorr/path);
591  fPE -> Fill(PE/path);
592  fTrueE -> Fill(trueE/path);
593  fRecoGeV -> Fill(1000 * RecoGeV/path);
594 
595 
596  /*
597  if( (
598  fGeo->DetId() == novadaq::cnv::kNEARDET &&
599  (
600  (view==0 && fMinFlatW_ND_x < w && w < fMaxFlatW_ND_x ) ||
601  (view==1 && fMinFlatW_ND_y < w && w < fMaxFlatW_ND_y )
602  )
603  ) || (
604  fGeo->DetId() == novadaq::cnv::kFARDET &&
605  (
606  (view==0 && fMinFlatW_FD_x < w && w < fMaxFlatW_FD_x ) ||
607  (view==1 && fMinFlatW_FD_y < w && w < fMaxFlatW_FD_y )
608  )
609  )
610  ){
611  fMEUreco_flat_w->Fill(PECorr/path);
612  fMEUtrue_flat_w->Fill(trueE/path);
613  }
614  */
615 
616  if(view == 0){
618  fPE_X -> Fill(PE/path);
619  fTrueE_X -> Fill(trueE/path);
620  }
621 
622  if(view == 1){
624  fPE_Y -> Fill(PE/path);
625  fTrueE_Y -> Fill(trueE/path);
626  }
627 
628  fTrackEndDist -> Fill(x);
629  fTrackEndDistCustom-> Fill(trackLength - FlightLength);
632  fTrackLengthCustom -> Fill(trackLength);
633 
634  }
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 636 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().

638  {
639 
640  fPathLength -> Fill(path);
641  fPlane -> Fill(plane);
642  fW -> Fill(w);
645  fPECorrW -> Fill(w, PECorr/path);
646  fMevW -> Fill(w, trueE/path);
651  fTNS -> Fill(tns);
653  fRun -> Fill(run);
660 
661  if(view == 0){
662  fPathW_X -> Fill(w, path);
665  fPathLength_X -> Fill(path);
668  fPlane_X -> Fill(plane);
669  fW_X -> Fill(w);
672  fPECorrW_X -> Fill(w, PECorr/path);
673  fMevW_X -> Fill(w, trueE/path);
674  fCell_X -> Fill(cell);
679  fWvsCell_0 -> Fill(cell, w);
680 
681  }
682 
683  if(view == 1){
684  fPathW_Y -> Fill(w, path);
687  fPathLength_Y -> Fill(path);
690  fPlane_Y -> Fill(plane);
691  fW_Y -> Fill(w);
694  fPECorrW_Y -> Fill(w, PECorr/path);
695  fMevW_Y -> Fill(w, trueE/path);
696  fCell_Y -> Fill(cell);
701  fWvsCell_1 -> Fill(cell, w);
702 
703  }
704 
705  }
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 324 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(), nhits, nXYHits, path, PE, PECorr, PECorrToGeV, plane, RecoGeV, art::DataViewImpl::run(), sameAPDhitDiblockEvent, sameAPDhitsEvent, art::DataViewImpl::time(), art::Timestamp::timeHigh(), tns, TotalTrackLength, trueE, truepath, truePE, trueW, view, w, and x.

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

Definition at line 707 of file MuondEdxAna_module.cc.

References caldp::PCHit::Cell(), fCalib, calib::Calibrator::GetPECorr(), caldp::PCHit::GoodTime(), art::DataViewImpl::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().

707  {
708 
709  //Make mock cellhit
710  rb::CellHit cellhit;
711  cellhit.SetPlane(pchit.Plane());
712  cellhit.SetCell(pchit.Cell());
713  cellhit.SetView(pchit.View());
714  cellhit.SetTNS(pchit.TNS(),pchit.GoodTime());
715  if(!e.isRealData())cellhit.SetMC(); // assume only filled for MC...
716  cellhit.SetPE(pchit.PE());
717 
718  double pecorr = fCalib->GetPECorr(cellhit, pchit.W());
719  return pecorr;
720  }
void SetTNS(float tns, bool good)
Definition: CellHit.h:56
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
bool isRealData() const
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 722 of file MuondEdxAna_module.cc.

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

Referenced by filter().

722  {
723 
724  rb::CellHit cellhit;
725  if(!e.isRealData()) cellhit.SetMC(); // assume only filled for MC...
726 
727  double pecorrtogev = fCalib->GetPECorrToGeVScale(cellhit);
728  return pecorrtogev;
729  }
double GetPECorrToGeVScale(rb::CellHit const &cellhit)
bool isRealData() const
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 T , BranchType BT>
ProductToken< T > art::ModuleBase::mayConsume ( InputTag const &  tag)
protectedinherited

Definition at line 76 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::mayConsume(), T, and getGoodRuns4SAM::tag.

77  {
78  return collector_.mayConsume<T, BT>(tag);
79  }
ProductToken< T > mayConsume(InputTag const &)
ConsumesCollector collector_
Definition: ModuleBase.h:50
double T
Definition: Xdiff_gwt.C:5
template<typename T , BranchType BT>
void art::ModuleBase::mayConsumeMany ( )
protectedinherited

Definition at line 90 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::mayConsumeMany(), and T.

91  {
93  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
double T
Definition: Xdiff_gwt.C:5
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::mayConsumeView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::mayConsumeView ( InputTag const &  tag)
inherited

Definition at line 83 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::mayConsumeView(), T, and getGoodRuns4SAM::tag.

84  {
85  return collector_.mayConsumeView<T, BT>(tag);
86  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
ViewToken< Element > mayConsumeView(InputTag const &)
double T
Definition: Xdiff_gwt.C:5
ModuleDescription const& art::ModuleBase::moduleDescription ( ) const
inherited
void art::ModuleBase::setModuleDescription ( ModuleDescription const &  )
inherited
void art::ModuleBase::sortConsumables ( std::string const &  current_process_name)
inherited
std::string art::EDFilter::workerType ( ) const
inherited

Referenced by art::EDFilter::EDFilter().

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::detail::Filter::Fail {false}
staticinherited

Definition at line 26 of file Filter.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::detail::Filter::Pass {true}
staticinherited

Definition at line 25 of file Filter.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: