if(track->Pt()>1.0){
fSecVtx->InitHFEpairs();
fSecVtx->InitHFEsecvtxs();
+ AliESDtrack *htrack = 0x0;
for(Int_t jtrack = 0; jtrack < fESD->GetNumberOfTracks(); jtrack++){
htrack = fESD->GetTrack(jtrack);
if ( itrack == jtrack ) continue; // since it is for tagging single electron, don't need additional condition
#include <TH1I.h>
#include <TList.h>
+#include "AliAnalysisManager.h"
+#include "AliMCEventHandler.h"
+#include "AliLog.h"
#include "AliAnalysisTaskHFEpidQA.h"
#include "AliHFEpidQA.h"
#include "AliESDEvent.h"
tmp->SetName("V0pidMC");
fOutput->Add(tmp);
}
+
+}
+Bool_t AliAnalysisTaskHFEpidQA::UserNotify(){
+ // DEBUG
+ //printf("*****\n");
+ //printf(" -D Current File Name: %s \n", CurrentFileName());
+ return AliAnalysisTask::Notify();
+
}
void AliAnalysisTaskHFEpidQA::UserExec(Option_t *){
//
// Event Loop
- //
+ //
+ AliMCEventHandler* mcHandler = (dynamic_cast<AliMCEventHandler*>(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()));
+ // check the MC data
+ if(fMCEvent && !mcHandler ) return;
+ if(fMCEvent && !mcHandler->InitOk() ) return;
+ if(fMCEvent && !mcHandler->TreeK() ) return;
+ if(fMCEvent && !mcHandler->TreeTR() ) return;
if(fMCEvent) fPIDqa->SetMCEvent(fMCEvent);
fPIDqa->SetRun((dynamic_cast<AliESDEvent*>(fInputEvent))->GetRunNumber());
fPIDqa->SetT0((dynamic_cast<AliESDEvent*>(fInputEvent))->GetT0());
//
}
+
+/**************************************************************************
+* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+* *
+* Author: The ALICE Off-line Project. *
+* Contributors are mentioned in the code where appropriate. *
+* *
+* Permission to use, copy, modify and distribute this software and its *
+* documentation strictly for non-commercial purposes is hereby granted *
+* without fee, provided that the above copyright notice appears in all *
+* copies and that both the copyright notice and this permission notice *
+* appear in the supporting documentation. The authors make no claims *
+* about the suitability of this software for any purpose. It is *
+* provided "as is" without express or implied warranty. *
+**************************************************************************/
+//
+// Task for PID QA
+// Using AliHFEpidQA and AliHFEMCpidQA
+// More information can be found in the source file
+//
#ifndef ALIANALYSISTASKHFEPIDQA_H
#define ALIANALYSISTASKHFEPIDQA_H
class AliHFEpidQA;
class AliAnalysisTaskHFEpidQA : public AliAnalysisTaskSE{
- enum{
- kV0pidQA = BIT(22),
- kRecalculateTRDpid = BIT(23)
- };
public:
AliAnalysisTaskHFEpidQA();
AliAnalysisTaskHFEpidQA(const Char_t *name);
~AliAnalysisTaskHFEpidQA();
- void UserCreateOutputObjects();
+ virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t *);
virtual void Terminate(Option_t *);
+ virtual Bool_t UserNotify();
Bool_t HasV0pidQA() const { return TestBit(kV0pidQA); };
Bool_t HasRecalculateTRDpid() const { return TestBit(kRecalculateTRDpid); };
void SetRecalculateTRDpid(Bool_t recal = kTRUE) { SetBit(kRecalculateTRDpid, recal); };
private:
+ enum{
+ kV0pidQA = BIT(22),
+ kRecalculateTRDpid = BIT(23)
+ };
AliAnalysisTaskHFEpidQA(const AliAnalysisTaskHFEpidQA &ref);
AliAnalysisTaskHFEpidQA &operator=(const AliAnalysisTaskHFEpidQA &ref);
AliHFEpidQA *fPIDqa; //! The heart of the analysis
fQA->CreateTH1F("h_cutEfficiencyLambda", "Cut Efficiency for Lambdas", 10, 0, 10);
// QA histograms for invariant mass
- fQA->CreateTH1F("h_InvMassGamma", "Gamma invariant mass; inv mass {[eV/c^{2}]; counts", 100, 0, 0.25);
+ fQA->CreateTH1F("h_InvMassGamma", "Gamma invariant mass; inv mass [GeV/c^{2}]; counts", 100, 0, 0.25);
fQA->CreateTH1F("h_InvMassK0s", "K0s invariant mass; inv mass [GeV/c^{2}]; counts", 100, 0.4, 0.65);
fQA->CreateTH1F("h_InvMassPhi", "Phi invariant mass; inv mass [GeV/c^{2}]; counts", 100, 0.4, 0.65);
fQA->CreateTH1F("h_InvMassLambda", "Lambda invariant mass; inv mass [GeV/c^{2}]; counts", 100, 1.05, 1.15);
+ // QA histograms for p distribution (of the daughters)
+ fQA->CreateTH1F("h_P_electron", "P distribution of the gamma electrons; p (GeV/c); counts", 100, 0.1, 10);
+ fQA->CreateTH1F("h_P_K0pion", "P distribution of the K0 pions; p (GeV/c); counts", 100, 0.1, 10);
+ fQA->CreateTH1F("h_P_Lpion", "P distribution of the Lambda pions; p (GeV/c); counts", 100, 0.1, 10);
+ fQA->CreateTH1F("h_P_Lproton", "P distribution of the Lambda protons; p (GeV/c); counts", 100, 0.1, 10);
+
// QA invariant mass as a functin of pt
fQA->CreateTH1Fvector1(20, "h_InvMassGamma_pt", "Gamma invarinat mass in pt bins; inv mass [GeV/c^{2}]; counts", 250, 0, 2);
fQA->CreateTH1Fvector1(20, "h_InvMassK0_pt", "K0 invarinat mass in pt bins; inv mass [GeV/c^{2}]; counts", 250, 0, 2);
Double_t mPt = kfMother->GetPt();
fQA->Fill("h_Pt_Gamma", mPt);
Int_t ptBin = (int)(mPt*10.0);
- fQA->Fill("h_InvMassGamma_pt", ptBin+1, invMass);
if(fQA) fQA->Fill("h_InvMassGamma", invMass);
if(invMass > 0.05) return kFALSE;
-
+ fQA->Fill("h_InvMassGamma_pt", ptBin+1, invMass);
+
AliDebug(1, Form("Gamma identified, daughter IDs: %d,%d", daughter[0]->GetID(), daughter[1]->GetID()));
// Identified gamma - store tracks in the electron containers
if(!fIndices->Find(daughter[0]->GetID())){
for(UInt_t ibin = 0; ibin < fNVars; ibin++) dummyBinning[ibin] = 1;
AliCFContainer *cmerged = new AliCFContainer(name, title, nStepMerged, fNVars, dummyBinning);
delete dummyBinning;
- // cleanup old container content so that we can fill it with the new content
- AliInfo("Removing temporary grids");
- for(Int_t istep = 0; istep < cmerged->GetNStep(); istep++){
- AliCFGridSparse *grid = cmerged->GetGrid(istep);
- delete grid;
- }
// Fill container with content
AliInfo("Filling new container");
Int_t cstep = 0;
// Filter tracks in the given cut step
// Apply all cut objects
//
- AliInfo(Form("Cut Step %s: Number of cut objects: %d", GetName(), fCuts->GetEntriesFast()));
+ AliDebug(1, Form("Cut Step %s: Number of cut objects: %d", GetName(), fCuts->GetEntriesFast()));
if(!fCuts->GetEntriesFast()) return kTRUE;
Bool_t isSelected = kTRUE;
for(Int_t iCut = 0; iCut < fCuts->GetEntriesFast(); iCut++){
if(!(dynamic_cast<AliAnalysisCuts *>(fCuts->UncheckedAt(iCut)))->IsSelected(o)) isSelected = kFALSE;
}
- AliInfo(Form("Accepted: %s", isSelected ? "yes" : "no"));
+ AliDebug(1, Form("Accepted: %s", isSelected ? "yes" : "no"));
return isSelected;
}
//__________________________________________________________
AliHFEdisplacedElectrons::AliHFEdisplacedElectrons():
fDebugLevel(0)
- , fESD(0x0)
- , fMC(0x0)
, fTHnSparseDcaMcPionInfo(NULL)
, fTHnSparseDcaMcEleInfo(NULL)
, fTHnSparseDcaDataEleInfo(NULL)
}
//__________________________________________________________
-AliHFEdisplacedElectrons::AliHFEdisplacedElectrons(const AliHFEdisplacedElectrons &displacedElectrons):
- TObject(displacedElectrons)
- , fDebugLevel(0)
- , fESD(0x0)
- , fMC(0x0)
- , fTHnSparseDcaMcPionInfo(NULL)
- , fTHnSparseDcaMcEleInfo(NULL)
- , fTHnSparseDcaDataEleInfo(NULL)
- , fOutputList(0x0)
+AliHFEdisplacedElectrons::AliHFEdisplacedElectrons(const AliHFEdisplacedElectrons &ref):
+ TObject(ref)
+ , fDebugLevel(ref.fDebugLevel)
+ , fTHnSparseDcaMcPionInfo(ref.fTHnSparseDcaMcPionInfo)
+ , fTHnSparseDcaMcEleInfo(ref.fTHnSparseDcaMcEleInfo)
+ , fTHnSparseDcaDataEleInfo(ref.fTHnSparseDcaDataEleInfo)
+ , fOutputList(ref.fOutputList)
{
//
//__________________________________________________________
-AliHFEdisplacedElectrons&AliHFEdisplacedElectrons::operator=(const AliHFEdisplacedElectrons &)
+AliHFEdisplacedElectrons&AliHFEdisplacedElectrons::operator=(const AliHFEdisplacedElectrons &ref)
{
//
// Assignment operator
//
- Printf("Not yet implemented.");
+
+ if(this == &ref) return *this;
+ AliHFEdisplacedElectrons::operator=(ref);
+
+ fDebugLevel = ref.fDebugLevel;
+
+ fTHnSparseDcaMcPionInfo = ref.fTHnSparseDcaMcPionInfo;
+ fTHnSparseDcaMcEleInfo = ref.fTHnSparseDcaMcEleInfo;
+ fTHnSparseDcaDataEleInfo = ref.fTHnSparseDcaDataEleInfo;
+ fOutputList = ref.fOutputList;
+
return *this;
}
const Int_t nVarPion = 5;
Int_t iBinPion[nVarPion] = {nBinsDca, nBinsDca, nBinsPt, nBinsRap, nBinsPhi};
- THnSparseF *fTHnSparseDcaMcPionInfo = NULL; // empty for the moment
+ // THnSparseF *fTHnSparseDcaMcPionInfo = NULL; // empty for the moment
if(HasMCData()){
fTHnSparseDcaMcPionInfo = new THnSparseF("dcaMcPionInfo",
"MC info:;dcaXY [50 #mum];dcaZ [50 #mum];pT [GeV/c];y [rapidity];#phi [rad];",
const Int_t nVar = 6;
Int_t iBin[nVar] = {nBinsEleSource,nBinsDca, nBinsDca, nBinsPt, nBinsRap, nBinsPhi};
- THnSparseF *fTHnSparseDcaMcEleInfo = NULL; // empty for the moment
+ // THnSparseF *fTHnSparseDcaMcEleInfo = NULL; // empty for the moment
if(HasMCData()){
fTHnSparseDcaMcEleInfo = new THnSparseF("dcaMcElectronInfo",
"MC info:;ID [electron source id];dcaXY [50 #mum];dcaZ [50 #mum];pT [GeV/c];y [rapidity];#phi [rad];",
// for ESD: HFE pid
- THnSparseF *fTHnSparseDcaDataEleInfo = NULL; // empty for the moment
+ // THnSparseF *fTHnSparseDcaDataEleInfo = NULL; // empty for the moment
const Int_t nVarData = 5;
Int_t iBinData[nVarData] = {nBinsDca, nBinsDca, nBinsPt, nBinsRap, nBinsPhi};
//__________________________________________________________
-void AliHFEdisplacedElectrons::FillESDOutput(AliESDEvent * const fESD, AliESDtrack* const esdTrack)
+void AliHFEdisplacedElectrons::FillESDOutput(AliESDEvent * const fESDEvent, AliESDtrack* const esdTrack)
{
// fill output
Double_t phi = track->Phi();
// obtain impact parameters in xy and y
- const AliESDVertex *primVtx = fESD->GetPrimaryVertex();
+ const AliESDVertex *primVtx = fESDEvent->GetPrimaryVertex();
Float_t magneticField = 5; // initialized as 5kG
- magneticField = fESD->GetMagneticField(); // in kG
+ magneticField = fESDEvent->GetMagneticField(); // in kG
Double_t dz[2]; // error of dca in cm
Double_t covardz[3];
track->PropagateToDCA(primVtx,magneticField, 1000., dz, covardz);
kPDGbeauty = kBottom
}; // PDG codes to be used
- AliHFEdisplacedElectrons();
+ AliHFEdisplacedElectrons(); // default constructor
AliHFEdisplacedElectrons(const AliHFEdisplacedElectrons &p); // copy constructor
- AliHFEdisplacedElectrons &operator=(const AliHFEdisplacedElectrons &); // assignment operator
+ AliHFEdisplacedElectrons &operator=(const AliHFEdisplacedElectrons &ref); // assignment operator
virtual ~AliHFEdisplacedElectrons();
}; // several constant to be used
UInt_t fDebugLevel; // debug level
- AliESDEvent* fESD; //! ESD pointer
- AliMCEvent* fMC; //! MC event
- const AliESDVertex *fkVertex; //! Primary vertex
Int_t ElectronFromSource(AliStack *stack, Int_t eleLabel) const;
Int_t ElePhotonDirect(AliStack *stack, Int_t label) const;
static const Char_t *fgkKineVar[kNKineVar]; // particle names
static const Char_t *fgkKineVarTitle[kNKineVar]; // particle names
- THnSparseF *fTHnSparseDcaMcPionInfo; //! container for MC part
- THnSparseF *fTHnSparseDcaMcEleInfo; //! container for MC part
- THnSparseF *fTHnSparseDcaDataEleInfo; //! container for Data part
+ THnSparseF *fTHnSparseDcaMcPionInfo; //! container for MC pion part
+ THnSparseF *fTHnSparseDcaMcEleInfo; //! container for MC electron part
+ THnSparseF *fTHnSparseDcaDataEleInfo; //! container for Data electron part
TList *fOutputList; //! output container
ClassDef(AliHFEdisplacedElectrons, 0);
#include <TObjArray.h>
#include <TPad.h>
+#include "AliAnalysisManager.h"
#include "AliCFAcceptanceCuts.h"
+#include "AliCFTrackIsPrimaryCuts.h"
#include "AliCFContainer.h"
#include "AliCFEffGrid.h"
#include "AliESDEvent.h"
#include "AliHFEtrackFilter.h"
#include "AliHFEtools.h"
#include "AliMCEvent.h"
+#include "AliMCEventHandler.h"
ClassImp(AliHFEefficiency)
AliHFEextraCuts *hfeitscuts = dynamic_cast<AliHFEextraCuts *>(hfeITS->GetCut("HFEPixelsCuts"));
hfeitscuts->SetRequireITSpixel(AliHFEextraCuts::kFirst);
+ AliHFEcutStep *primary = fFilter->GetCutStep("Primary");
+ AliCFTrackIsPrimaryCuts *primcuts = dynamic_cast<AliCFTrackIsPrimaryCuts *>(primary->GetCut("PrimaryCuts"));
+ primcuts->SetMaxDCAToVertexXY(3);
+ primcuts->SetMaxDCAToVertexZ(5);
+
fAcceptanceCuts = new AliCFAcceptanceCuts("Acceptance", "MC Acceptance Cuts");
fAcceptanceCuts->SetMinNHitITS(3);
fAcceptanceCuts->SetMinNHitTPC(2);
fEfficiency->NewEvent();
fFilter->SetRecEvent(fInputEvent);
if(fMCEvent){
+ AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler *>(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
+ if(!mcH->InitOk()) return;
+ if(!mcH->TreeK()) return;
+ if(!mcH->TreeTR()) return;
fFilter->SetMC(fMCEvent);
FilterMC();
}
else
fOutput->Fill("itspixel",0);
AliMCParticle *mctrack = dynamic_cast<AliMCParticle *>(fMCEvent->GetTrack(TMath::Abs(track->GetLabel())));
- AliMCParticle *mother = dynamic_cast<AliMCParticle *>(fMCEvent->GetTrack(mctrack->Particle()->GetFirstMother()));
- fOutput->Fill("mcmother", mother->Particle()->GetPdgCode());
- fOutput->Fill("ptres", mctrack->Pt(), (track->Pt() - mctrack->Pt())/mctrack->Pt());
+ if(mctrack){
+ Int_t motherLabel = mctrack->Particle()->GetFirstMother();
+ if(motherLabel){
+ AliMCParticle *mother = dynamic_cast<AliMCParticle *>(fMCEvent->GetTrack(motherLabel));
+ fOutput->Fill("mcmother", mother->Particle()->GetPdgCode());
+ }
+ fOutput->Fill("ptres", mctrack->Pt(), (track->Pt() - mctrack->Pt())/mctrack->Pt());
+ }
}
delete iter;
fFilter->Flush();
////////////////////
if(fRequireITSStandalone==1) {
- if(((status & AliESDtrack::kITSin) == 0 || (trackPart->IsPureITSStandalone()) || (status&AliESDtrack::kITSrefit)==0)) return kFALSE;
+ if(((status & AliESDtrack::kITSin) == 0 || (trackPart->IsPureITSStandalone()) || status&AliESDtrack::kITSrefit==0)) return kFALSE;
}
if(fRequireITSStandalone==2) {
fOutput->BinLogAxis("hTPCnSigmaProton", 0);
fOutput->CreateTH2F("hTPC_PID", "TPC pid all tracks; tpc pid probability; species",100, 0, 1, 5, -0.5, 4.5 );
- fOutput->CreateTH2F("hTPC_PID_pt_Electron", "TPC PID for conversion electrons; pt (GeV/c); TPC PID", 100, 0.1, 10, 5, -0.5, 4.5);
- fOutput->BinLogAxis("hTPC_PID_pt_Electron", 0);
- fOutput->CreateTH2F("hTPC_PID_pt_PionK0", "TPC PID for K0 pions; pt (GeV/c); TPC PID", 100, 0.1, 10, 5, -0.5, 4.5);
- fOutput->BinLogAxis("hTPC_PID_pt_PionK0", 0);
- fOutput->CreateTH2F("hTPC_PID_pt_PionL", "TPC PID for Lambda pions; pt (GeV/c); TPC PID", 100, 0.1, 10, 5, -0.5, 4.5);
- fOutput->BinLogAxis("hTPC_PID_pt_PionL", 0);
- fOutput->CreateTH2F("hTPC_PID_pt_Proton", "TPC PID for Lambda protons; pt (GeV/c); TPC PID", 100, 0.1, 10, 5, -0.5, 4.5);
- fOutput->BinLogAxis("hTPC_PID_pt_Proton", 0);
+ fOutput->CreateTH2F("hTPC_PID_p_Electron", "TPC PID for conversion electrons; p (GeV/c); TPC PID", 100, 0.1, 10, 5, -0.5, 4.5);
+ fOutput->BinLogAxis("hTPC_PID_p_Electron", 0);
+ fOutput->CreateTH2F("hTPC_PID_p_PionK0", "TPC PID for K0 pions; p (GeV/c); TPC PID", 100, 0.1, 10, 5, -0.5, 4.5);
+ fOutput->BinLogAxis("hTPC_PID_p_PionK0", 0);
+ fOutput->CreateTH2F("hTPC_PID_p_PionL", "TPC PID for Lambda pions; p (GeV/c); TPC PID", 100, 0.1, 10, 5, -0.5, 4.5);
+ fOutput->BinLogAxis("hTPC_PID_p_PionL", 0);
+ fOutput->CreateTH2F("hTPC_PID_p_Proton", "TPC PID for Lambda protons; p (GeV/c); TPC PID", 100, 0.1, 10, 5, -0.5, 4.5);
+ fOutput->BinLogAxis("hTPC_PID_p_Proton", 0);
// TRD pid response
fOutput->CreateTH2F("hTOF_PID", "TOF pid all tracks; tof pid probability; species",100, 0, 1,5, -0.5, 4.5 );
- fOutput->CreateTH2F("hTOF_PID_pt_Electron", "TOF PID for gamma converisons; p_T (GeV/c); counts", 100, 0.1, 10, 5, -0.5, 4.5);
- fOutput->BinLogAxis("hTOF_PID_pt_Electron", 0);
- fOutput->CreateTH2F("hTOF_PID_pt_PionK0", "TOF PID for K0 pions; p_T (GeV/c); counts", 100, 0.1, 10, 5, -0.5, 4.5);
- fOutput->BinLogAxis("hTOF_PID_pt_PionK0", 0);
- fOutput->CreateTH2F("hTOF_PID_pt_PionL", "TOF PID for Lambda pions; p_T (GeV/c); counts", 100, 0.1, 10, 5, -0.5, 4.5);
- fOutput->BinLogAxis("hTOF_PID_pt_PionL", 0);
- fOutput->CreateTH2F("hTOF_PID_pt_Proton", "TOF PID for Lambda protons; p_T (GeV/c); counts", 100, 0.1, 10, 5, -0.5, 4.5);
- fOutput->BinLogAxis("hTOF_PID_pt_Proton", 0);
+ fOutput->CreateTH2F("hTOF_PID_p_Electron", "TOF PID for gamma converisons; p_T (GeV/c); counts", 100, 0.1, 10, 5, -0.5, 4.5);
+ fOutput->BinLogAxis("hTOF_PID_p_Electron", 0);
+ fOutput->CreateTH2F("hTOF_PID_p_PionK0", "TOF PID for K0 pions; p_T (GeV/c); counts", 100, 0.1, 10, 5, -0.5, 4.5);
+ fOutput->BinLogAxis("hTOF_PID_p_PionK0", 0);
+ fOutput->CreateTH2F("hTOF_PID_p_PionL", "TOF PID for Lambda pions; p_T (GeV/c); counts", 100, 0.1, 10, 5, -0.5, 4.5);
+ fOutput->BinLogAxis("hTOF_PID_p_PionL", 0);
+ fOutput->CreateTH2F("hTOF_PID_p_Proton", "TOF PID for Lambda protons; p_T (GeV/c); counts", 100, 0.1, 10, 5, -0.5, 4.5);
+ fOutput->BinLogAxis("hTOF_PID_p_Proton", 0);
fOutput->CreateTH2F("hTOF_beta_Electron", "TOF beta for gamma conversions; #beta; p (GeV/c)", 120, 0, 1.2, 100, 0.1, 10);
fOutput->BinLogAxis("hTOF_beta_Electron", 1);
// track kinematics
Double_t p = tpcIn->P();
- Double_t pt = tpcIn->Pt();
+ //Double_t pt = tpcIn->Pt();
// TPC dEdx
Double_t dEdx = esdTrack->GetTPCsignal();
fOutput->Fill(hname, p, dEdx);
//TPC number of sigmas
- Double_t nsigma = fESDpid->NumberOfSigmasTPC(esdTrack,(AliPID::EParticleType)species);
+ Double_t nsigma = fESDpid->NumberOfSigmasTPC(esdTrack,(AliPID::EParticleType)typePID[species]);
sprintf(hname, "hTPCnSigma%s", typeName[species]);
fOutput->Fill(hname, p, nsigma);
// TPC PID response
- sprintf(hname, "hTPC_PID_pt_%s", typeName[species]);
+ sprintf(hname, "hTPC_PID_p_%s", typeName[species]);
Double_t tpcPID[5] = {-1, -1, -1, -1, -1};
esdTrack->GetTPCpid(tpcPID);
Int_t ix = 0;
fOutput->Fill("hTPC_PID", tpcPID[k], k);
}
if(tpcPID[ix] > 0){
- fOutput->Fill(hname, pt, ix);
+ fOutput->Fill(hname, p, ix);
}
// TOF PID response
- sprintf(hname, "hTOF_PID_pt_%s", typeName[species]);
+ sprintf(hname, "hTOF_PID_p_%s", typeName[species]);
Double_t tofPID[5] = {-1., -1., -1., -1., -1};
esdTrack->GetTOFpid(tofPID);
tmp = 0.;
fOutput->Fill("hTOF_PID", tofPID[k], k);
}
if(tofPID[ix] > 0){
- fOutput->Fill(hname, pt, ix);
+ fOutput->Fill(hname, p, ix);
}
//TRD first electron only