77 {
78
79 m_stepProc->Fill( aStep->GetPostStepPoint()->GetProcessDefinedStep()->
80 GetProcessType() );
81
82
83 m_stepELoss->Fill( log10(aStep->GetTotalEnergyDeposit()) );
84
85
86 m_stepL->Fill( log10( aStep->GetStepLength() ) );
87
88
89 auto* preStepPoint = aStep->GetPreStepPoint();
90 auto* postStepPoint = aStep->GetPostStepPoint();
92 m_prim = aStep->GetTrack();
93 }
94
95 else if (aStep->GetTrack()!=
m_prim && aStep->GetTrack()!=
m_sec){
96 m_secE->Fill( log10(preStepPoint->GetTotalEnergy()) );
97 m_sec = aStep->GetTrack();
98 }
99
100
101 if (postStepPoint->GetProcessDefinedStep()->GetProcessType()==1){
102 if (
m_prim==aStep->GetTrack()){
103 double angle = std::acos(
104 preStepPoint->GetMomentumDirection().dot(
105 postStepPoint->GetMomentumDirection() ) );
107 m_EvsR->Fill( postStepPoint->GetPosition().perp()*0.001,
108 aStep->GetTrack()->GetTotalEnergy() );
109 }
110 }
111
112 if (aStep->GetTrack()->GetNextVolume()==0){
113
114 if (
m_prim==aStep->GetTrack()){
115 m_primH = postStepPoint->GetPosition().eta();
116 m_primF = postStepPoint->GetPosition().phi();
117 } else {
118 m_dh += (postStepPoint->GetPosition().
eta() -
m_primH )*aStep->GetTrack()->GetTotalEnergy();
119 m_dh2 += std::pow(postStepPoint->GetPosition().eta() -
m_primH,2)*aStep->GetTrack()->GetTotalEnergy();
120 m_dp += (postStepPoint->GetPosition().
phi() -
m_primF )*aStep->GetTrack()->GetTotalEnergy();
121 m_dp2 += std::pow(postStepPoint->GetPosition().phi() -
m_primF,2)*aStep->GetTrack()->GetTotalEnergy();
122 m_nsec += aStep->GetTrack()->GetTotalEnergy();
123 }
124 }
125
126 }
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)