Changes in / [8e2bc10:f32ea92] in git
- Location:
- modules
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
modules/Isolation.cc
r8e2bc10 rf32ea92 153 153 Candidate *candidate, *isolation, *object; 154 154 TObjArray *isolationArray; 155 Double_t sumCharged, sumNeutral, sumAllParticles, sumChargedPU, sumDBeta, ratioDBeta, sumRhoCorr, ratioRhoCorr; 155 Double_t sumCharged, sumNeutral, sumAllParticles, sumChargedPU; 156 Double_t sumDBeta, ratioDBeta, sumRhoCorr, ratioRhoCorr, sum, ratio; 156 157 Int_t counter; 157 158 Double_t eta = 0.0; … … 188 189 189 190 // loop over all input tracks 190 191 191 192 sumNeutral = 0.0; 192 193 sumCharged = 0.0; 193 194 sumChargedPU = 0.0; 194 195 sumAllParticles = 0.0; 195 196 196 197 counter = 0; 197 198 itIsolationArray.Reset(); 198 199 199 200 while((isolation = static_cast<Candidate*>(itIsolationArray.Next()))) 200 201 { … … 205 206 { 206 207 sumAllParticles += isolationMomentum.Pt(); 207 if(isolation->Charge !=0) 208 { 209 sumCharged += isolationMomentum.Pt(); 210 if(isolation->IsRecoPU != 0) sumChargedPU += isolationMomentum.Pt(); 211 } 208 if(isolation->Charge != 0) 209 { 210 if(isolation->IsRecoPU) 211 { 212 sumChargedPU += isolationMomentum.Pt(); 213 } 214 else 215 { 216 sumCharged += isolationMomentum.Pt(); 217 } 218 } 212 219 else 213 214 220 { 221 sumNeutral += isolationMomentum.Pt(); 215 222 } 216 223 ++counter; … … 232 239 } 233 240 234 235 sumDBeta = sumCharged + TMath::Max(sumNeutral -0.5*sumChargedPU,0.0);236 sumRhoCorr = sumCharged + TMath::Max(sumNeutral -TMath::Max(rho,0.0)*fDeltaRMax*fDeltaRMax*TMath::Pi(),0.0);241 // correct sum for pile-up contamination 242 sumDBeta = sumCharged + TMath::Max(sumNeutral - 0.5*sumChargedPU, 0.0); 243 sumRhoCorr = sumCharged + TMath::Max(sumNeutral - TMath::Max(rho, 0.0)*fDeltaRMax*fDeltaRMax*TMath::Pi(), 0.0); 237 244 ratioDBeta = sumDBeta/candidateMomentum.Pt(); 238 245 ratioRhoCorr = sumRhoCorr/candidateMomentum.Pt(); 239 246 240 247 candidate->IsolationVar = ratioDBeta; 241 248 candidate->IsolationVarRhoCorr = ratioRhoCorr; … … 245 252 candidate->SumPt = sumAllParticles; 246 253 247 if((fUsePTSum && sumRhoCorr > fPTSumMax) || (!fUsePTSum && ratioRhoCorr > fPTRatioMax)) continue; 254 sum = fRhoInputArray ? sumRhoCorr : sumDBeta; 255 if(fUsePTSum && sum > fPTSumMax) continue; 256 257 ratio = fRhoInputArray ? ratioRhoCorr : ratioDBeta; 258 if(!fUsePTSum && ratio > fPTRatioMax) continue; 259 248 260 fOutputArray->Add(candidate); 249 261 } -
modules/TrackPileUpSubtractor.cc
r8e2bc10 rf32ea92 67 67 void TrackPileUpSubtractor::Init() 68 68 { 69 // import input array69 // import input array 70 70 71 71 fVertexInputArray = ImportArray(GetString("VertexInputArray", "PileUpMerger/vertices")); 72 72 fItVertexInputArray = fVertexInputArray->MakeIterator(); 73 73 74 74 fZVertexResolution = GetDouble("ZVertexResolution", 0.005)*1.0E3; 75 75 76 76 fPTMin = GetDouble("PTMin", 0.); 77 77 78 // import arrays with output from other modules 78 79 79 80 ExRootConfParam param = GetParam("InputArray"); 80 81 Long_t i, size; … … 119 120 Double_t z, zvtx=0; 120 121 121 122 122 123 // find z position of primary vertex 123 124 124 125 fItVertexInputArray->Reset(); 125 126 while((candidate = static_cast<Candidate*>(fItVertexInputArray->Next()))) … … 127 128 if(!candidate->IsPU) 128 129 { 129 zvtx = candidate->Position.Z();130 // break;130 zvtx = candidate->Position.Z(); 131 // break; 131 132 } 132 133 } … … 144 145 particle = static_cast<Candidate*>(candidate->GetCandidates()->At(0)); 145 146 z = particle->Position.Z(); 146 147 147 148 // apply pile-up subtraction 148 149 // assume perfect pile-up subtraction for tracks outside fZVertexResolution 149 150 if(candidate->IsPU && TMath::Abs(z-zvtx) > fZVertexResolution) candidate->IsRecoPU = 1; 151 else 150 151 if(candidate->IsPU && TMath::Abs(z-zvtx) > fZVertexResolution) 152 152 { 153 candidate->IsRecoPU = 0; 154 if( candidate->Momentum.Pt() > fPTMin) array->Add(candidate); 153 candidate->IsRecoPU = 1; 154 } 155 else 156 { 157 candidate->IsRecoPU = 0; 158 if(candidate->Momentum.Pt() > fPTMin) array->Add(candidate); 155 159 } 156 160 } -
modules/TrackPileUpSubtractor.h
r8e2bc10 rf32ea92 50 50 Double_t fZVertexResolution; 51 51 52 Double_t fPTMin; 52 Double_t fPTMin; 53 53 54 54 std::map< TIterator *, TObjArray * > fInputMap; //!
Note:
See TracChangeset
for help on using the changeset viewer.