eventAnalysis  7.0-49-g0ac7482
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ND::TP0DReconModule::TP0DShower Class Reference

Contains a summary of the reconstruction information in a TReconShower. More...

#include <TP0DReconModule.hxx>

+ Inheritance diagram for ND::TP0DReconModule::TP0DShower:
+ Collaboration diagram for ND::TP0DReconModule::TP0DShower:

Public Member Functions

virtual ~TP0DShower ()
 
 ClassDef (TP0DReconModule::TP0DShower, 5)
 

Public Attributes

std::string AlgorithmName
 The name of the p0dRecon algorithm that created this object. More...
 
std::vector< short > Clusters
 Holds internal Ids of Clusters pertinent to this reconstructed shower. More...
 
float Cone
 The opening angle of the TShowerState cone of the corresponding TReconShower. More...
 
short Cycle
 The cycle number, based on the first hit. More...
 
TVector3 Direction
 Direction of the TShowerState of the corresponding ND::TReconShower. More...
 
TVector3 DirVariance
 Variance on the TP0DShower::Direction of the TShowerState of the corresponding ND::TReconShower. More...
 
float EDeposit
 The total reconstructed energy deposit of the corresponding ND::TReconShower. More...
 
float EndDeposit
 The deposited charge in the end p0dules. More...
 
std::vector< short > Hits
 Holds internal Ids of Hits pertinent to this reconstructed shower. More...
 
float Length
 The RMS length of the shower, the extent parallel to the direction. More...
 
int NDOF
 The Number of Degrees of Freedom in the reconstruction of the corresponding ND::TReconShower. More...
 
short NHits
 A count of the Hits associated with this object. More...
 
std::vector< short > Nodes
 Holds internal Ids of Nodes pertinent to this reconstructed shower. More...
 
std::vector< short > Particles
 Holds internal Ids of Particles pertinent to this reconstructed shower. More...
 
TLorentzVector Position
 Position of the TShowerState of the corresponding ND::TReconShower. More...
 
TLorentzVector PosVariance
 Variance on the position of the TShowerState of the corresponding ND::TReconShower. More...
 
float Quality
 The reported reconstruction 'quality' of the corresponding ND::TReconShower. More...
 
std::vector< short > Showers
 Holds internal Ids of Showers pertinent to this reconstructed shower. More...
 
float SideDeposit
 The deposited charge in the side bars. More...
 
int Status
 The reported Status of the corresponding ND::TReconShower. More...
 
std::vector< short > Tracks
 Holds internal Ids of Tracks pertinent to this reconstructed shower. More...
 
std::vector< float > Truth_ChargeShare
 The weighted reconstructed charge deposited by each truth trajectory. More...
 
std::vector< short > Truth_HitCount
 The number of THits that each truth trajectory contributed to. More...
 
std::vector< int > Truth_PrimaryTrajIDs
 The vector of primary true trajectory IDs which contribute to the ND::THits which are constituents of this shower. More...
 
std::vector< int > Truth_TrajIDs
 The vector of true trajectory IDs which contribute to the ND::THits which are constituents of this shower. More...
 
UInt_t UniqueID
 The Unique ID of the corresponding ND::TReconShower, used for global-subdetector matching. More...
 
short ValidDimensions
 Bit flag demarkating valid dimensions for this shower's position. More...
 
std::vector< short > Vertices
 Holds internal Ids of Vertices pertinent to this reconstructed shower. More...
 
float Width
 The 'width' of the shower, the extent perpendicular to the direction. More...
 

Detailed Description

Contains a summary of the reconstruction information in a TReconShower.

Definition at line 512 of file TP0DReconModule.hxx.

Constructor & Destructor Documentation

ND::TP0DReconModule::TP0DShower::~TP0DShower ( )
virtual

Definition at line 62 of file TP0DReconModule.cxx.

Member Function Documentation

ND::TP0DReconModule::TP0DShower::ClassDef ( TP0DReconModule::TP0DShower  ,
 
)

Member Data Documentation

std::string ND::TP0DReconModule::TP0DShower::AlgorithmName

The name of the p0dRecon algorithm that created this object.

Definition at line 522 of file TP0DReconModule.hxx.

std::vector<short> ND::TP0DReconModule::TP0DShower::Clusters

Holds internal Ids of Clusters pertinent to this reconstructed shower.

Holds ND::TP0DReconModule::ObjectID::id of ND::TP0DReconModule::TP0DCluster objects which are equivalent to indicies of ND::TP0DReconModule::fClusters which hold Clusters related to this reconstructed shower.

Definition at line 550 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

float ND::TP0DReconModule::TP0DShower::Cone

The opening angle of the TShowerState cone of the corresponding TReconShower.

ND::THandle<ND::TShowerState> showerState = shower->GetState();
p0dShower->Cone = showerState->GetCone()[0];

Definition at line 675 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

short ND::TP0DReconModule::TP0DShower::Cycle

The cycle number, based on the first hit.

Definition at line 526 of file TP0DReconModule.hxx.

TVector3 ND::TP0DReconModule::TP0DShower::Direction

Direction of the TShowerState of the corresponding ND::TReconShower.

ND::THandle<ND::TShowerState> showerState = shower->GetState();

Definition at line 665 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

TVector3 ND::TP0DReconModule::TP0DShower::DirVariance

Variance on the TP0DShower::Direction of the TShowerState of the corresponding ND::TReconShower.

ND::THandle<ND::TShowerState> showerState = shower->GetState();
p0dShower->DirVariance = showerState->GetDirectionVariance();

Definition at line 669 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

float ND::TP0DReconModule::TP0DShower::EDeposit

The total reconstructed energy deposit of the corresponding ND::TReconShower.

p0dShower->EDeposit = showerState->GetEDeposit();

Definition at line 631 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

float ND::TP0DReconModule::TP0DShower::EndDeposit

The deposited charge in the end p0dules.

ND::TGeometryId geomid = (*hit)->GetGeomId();
int p0dule = ND::TGeomInfo::P0D().GetBar(geomid).GetP0Dule();
if(p0dule > 38){
p0dShower->EndDeposit += (*hit)->GetCharge();
}

Definition at line 644 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

std::vector<short> ND::TP0DReconModule::TP0DShower::Hits

Holds internal Ids of Hits pertinent to this reconstructed shower.

Holds ND::TP0DReconModule::ObjectID::id of ND::TP0DReconModule::TP0DHit objects which are equivalent to indicies of ND::TP0DReconModule::fHits which hold Hits related to this reconstructed shower.

Definition at line 560 of file TP0DReconModule.hxx.

float ND::TP0DReconModule::TP0DShower::Length

The RMS length of the shower, the extent parallel to the direction.

This is calculated here. Each of the THits, within the TReconShower, contributes to the width based on it's, charged weighted, perpendicular distance from the TReconShower's position. This is done in 2D.

for (hit = showerHits->begin();
hit != showerHits->end();
++hit) {
TVector3 diff = (*hit)->GetPosition() - p0dShower->Position.Vect();
TVector3 para = (diff * p0dShower->Direction) * p0dShower->Direction;
if ((*hit)->IsXHit()) {
diff.SetY(0.0);
perp.SetY(0.0);
}
else {
diff.SetX(0.0);
perp.SetX(0.0);
}
float q = (*hit)->GetCharge();
totalCharge += q;
avgLen += q * para.Mag();
avgLen2 += q * (para * para);
}
avgLen /= std::max(totalCharge,1.0);
avgLen2 /= std::max(totalCharge,1.0);
double len2 = avgLen2 - avgLen*avgLen;
p0dShower->Length = std::sqrt(std::max(0.0, len2));

Definition at line 700 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

int ND::TP0DReconModule::TP0DShower::NDOF

The Number of Degrees of Freedom in the reconstruction of the corresponding ND::TReconShower.

Retreived from ND::TReconBase::GetNDOF

p0dShower->NDOF = shower->GetNDOF();

Definition at line 586 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

short ND::TP0DReconModule::TP0DShower::NHits

A count of the Hits associated with this object.

Definition at line 565 of file TP0DReconModule.hxx.

std::vector<short> ND::TP0DReconModule::TP0DShower::Nodes

Holds internal Ids of Nodes pertinent to this reconstructed shower.

Holds ND::TP0DReconModule::ObjectID::id of ND::TP0DReconModule::TP0DNode objects which are equivalent to indicies of ND::TP0DReconModule::fNodes which hold Nodes related to this reconstructed shower.

Definition at line 555 of file TP0DReconModule.hxx.

std::vector<short> ND::TP0DReconModule::TP0DShower::Particles

Holds internal Ids of Particles pertinent to this reconstructed shower.

Holds ND::TP0DReconModule::ObjectID::id of ND::TP0DReconModule::TP0DParticle objects which are equivalent to indicies of ND::TP0DReconModule::fParticles which hold Particles related to this reconstructed shower.

Definition at line 535 of file TP0DReconModule.hxx.

TLorentzVector ND::TP0DReconModule::TP0DShower::Position

Position of the TShowerState of the corresponding ND::TReconShower.

ND::THandle<ND::TShowerState> showerState = shower->GetState();
p0dShower->Position = showerState->GetPosition();

Definition at line 652 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

TLorentzVector ND::TP0DReconModule::TP0DShower::PosVariance

Variance on the position of the TShowerState of the corresponding ND::TReconShower.

ND::THandle<ND::TShowerState> showerState = shower->GetState();
p0dShower->PosVariance = showerState->GetPositionVariance();

Definition at line 656 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

float ND::TP0DReconModule::TP0DShower::Quality

The reported reconstruction 'quality' of the corresponding ND::TReconShower.

Uses ND::TReconBase::GetQuality

p0dShower->Quality = shower->GetQuality();

Definition at line 582 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

std::vector<short> ND::TP0DReconModule::TP0DShower::Showers

Holds internal Ids of Showers pertinent to this reconstructed shower.

Holds ND::TP0DReconModule::ObjectID::id of ND::TP0DReconModule::TP0DShower objects which are equivalent to indicies of ND::TP0DReconModule::fShowers which hold Showers related to this reconstructed shower.

Definition at line 545 of file TP0DReconModule.hxx.

float ND::TP0DReconModule::TP0DShower::SideDeposit

The deposited charge in the side bars.

ND::TGeometryId geomid = (*hit)->GetGeomId();
int layer = ND::TGeomInfo::P0D().GetBar(geomid).GetLayer();
int bar = ND::TGeomInfo::P0D().GetBar(geomid).GetNumber();
if(bar < 4 || (layer == 0 && bar > 121) || (layer == 1 && bar > 129)){
p0dShower->SideDeposit += (*hit)->GetCharge();
}

Definition at line 636 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

int ND::TP0DReconModule::TP0DShower::Status

The reported Status of the corresponding ND::TReconShower.

p0dShower->Status = shower->GetStatus();
Use ND::TReconBase::StateBits to check the which status flags are set.

Definition at line 578 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

std::vector<short> ND::TP0DReconModule::TP0DShower::Tracks

Holds internal Ids of Tracks pertinent to this reconstructed shower.

Holds ND::TP0DReconModule::ObjectID::id of ND::TP0DReconModule::TP0DTrack objects which are equivalent to indicies of ND::TP0DReconModule::fTracks which hold Tracks related to this reconstructed shower.

Definition at line 540 of file TP0DReconModule.hxx.

std::vector<float> ND::TP0DReconModule::TP0DShower::Truth_ChargeShare

The weighted reconstructed charge deposited by each truth trajectory.

For each THit, a trajectory will receive a proportional share of the charge, based on the total true charge deposited by all contributing trajectories. Indexed by the position of the relevant trajectory ID in TP0DShower::Truth_TrajIDs. See ND::TP0DReconModule::HitTruthInfo for how they are calculated.

Definition at line 622 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

std::vector<short> ND::TP0DReconModule::TP0DShower::Truth_HitCount

The number of THits that each truth trajectory contributed to.

This doesn't have to equal the number of hits, hits can be shared and some hits may not have associated trajectories. Indexed by the position of the relevant trajectory ID in TP0DShower::Truth_TrajIDs. See ND::TP0DReconModule::HitTruthInfo for how they are calculated.

Definition at line 613 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

std::vector<int> ND::TP0DReconModule::TP0DShower::Truth_PrimaryTrajIDs

The vector of primary true trajectory IDs which contribute to the ND::THits which are constituents of this shower.

These are 'pseudo-primaries', which may or may not be primaries for a vertex. It is the 'interesting' primary that is defined by nd280Geant4Sim, and can include particles such as photons from pi0 decay and michel electrons from muon decay. If you want to be sure of finding a vertex, use the TP0DShower::Truth_TrajIDs list and get primary ID from the trajectories. See ND::TP0DReconModule::HitTruthPrimaryInfo for how they are calculated.

Definition at line 595 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

std::vector<int> ND::TP0DReconModule::TP0DShower::Truth_TrajIDs

The vector of true trajectory IDs which contribute to the ND::THits which are constituents of this shower.

The index of a given trajectory id within this vector is used as the index for the corresponding information held in TP0DShower::Truth_HitCount and TP0DShower::Truth_ChargeShare. See ND::TP0DReconModule::HitTruthInfo for how they are calculated.

Definition at line 606 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

UInt_t ND::TP0DReconModule::TP0DShower::UniqueID

The Unique ID of the corresponding ND::TReconShower, used for global-subdetector matching.

In ND::TP0DReconModule::FillBaseObject

basePtr->UniqueID = baseObject->GetUniqueID();

Definition at line 569 of file TP0DReconModule.hxx.

short ND::TP0DReconModule::TP0DShower::ValidDimensions

Bit flag demarkating valid dimensions for this shower's position.

values(valid dimensions) : 1(x),2(y),4(z),3(xy),5(xz),6(yz),7(xyz)

Definition at line 662 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().

std::vector<short> ND::TP0DReconModule::TP0DShower::Vertices

Holds internal Ids of Vertices pertinent to this reconstructed shower.

Holds ND::TP0DReconModule::ObjectID::id of ND::TP0DReconModule::TP0DVertex objects which are equivalent to indicies of ND::TP0DReconModule::fVertices which hold Vertices related to this reconstructed shower.

Definition at line 530 of file TP0DReconModule.hxx.

float ND::TP0DReconModule::TP0DShower::Width

The 'width' of the shower, the extent perpendicular to the direction.

This is calculated here. Each of the THits, within the TReconShower, contributes to the width based on it's, charged weighted, perpendicular distance from the TReconShower's position. This is done in 2D.

for (hit = showerHits->begin();
hit != showerHits->end();
++hit) {
TVector3 diff = (*hit)->GetPosition() - p0dShower->Position.Vect();
TVector3 para = (diff * p0dShower->Direction) * p0dShower->Direction;
TVector3 perp = diff - para;
if ((*hit)->IsXHit()) {
diff.SetY(0.0);
perp.SetY(0.0);
}
else {
diff.SetX(0.0);
perp.SetX(0.0);
}
float q = (*hit)->GetCharge();
totalCharge += q;
p0dShower->Width += q * perp.Mag();
}
p0dShower->Width /= std::max(totalCharge,1.0);

Definition at line 681 of file TP0DReconModule.hxx.

Referenced by ND::TP0DReconModule::FillShowerObject().


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

Package Summary
Package Name: eventAnalysis
Package Version: 7.0-49-g0ac7482
Package Manager:

Generated on Mon Mar 25 2024 14:44:02 for eventAnalysis by doxygen 1.8.5