From 1e68a3f4e9652a3d09426050382318dbfafe4ae9 Mon Sep 17 00:00:00 2001 From: gconesab Date: Mon, 16 Aug 2010 13:34:33 +0000 Subject: [PATCH] Remove/comment out the code related to signal plus bacround mixing, since it is available in general frame --- PWG4/PartCorrBase/AliCaloTrackAODReader.cxx | 26 +-- PWG4/PartCorrBase/AliCaloTrackAODReader.h | 11 +- PWG4/PartCorrBase/AliCaloTrackReader.cxx | 178 +++++++++--------- PWG4/PartCorrBase/AliCaloTrackReader.h | 55 +++--- PWG4/PartCorrBase/AliIsolationCut.cxx | 6 +- PWG4/PartCorrDep/AliAnaBtag.cxx | 16 +- PWG4/PartCorrDep/AliAnaChargedParticles.cxx | 2 +- PWG4/PartCorrDep/AliAnaElectron.cxx | 32 ++-- PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.cxx | 14 +- .../AliAnaParticleHadronCorrelation.cxx | 34 ++-- PWG4/PartCorrDep/AliAnaParticleIsolation.cxx | 148 +++++++-------- ...liAnaParticleJetLeadingConeCorrelation.cxx | 44 ++--- PWG4/PartCorrDep/AliAnaPhoton.cxx | 38 ++-- PWG4/PartCorrDep/AliAnaPi0EbE.cxx | 8 +- 14 files changed, 301 insertions(+), 311 deletions(-) diff --git a/PWG4/PartCorrBase/AliCaloTrackAODReader.cxx b/PWG4/PartCorrBase/AliCaloTrackAODReader.cxx index 0840e79d7e6..44997506752 100755 --- a/PWG4/PartCorrBase/AliCaloTrackAODReader.cxx +++ b/PWG4/PartCorrBase/AliCaloTrackAODReader.cxx @@ -18,7 +18,7 @@ //_________________________________________________________________________ // Class for reading data (AODs) in order to do prompt gamma // or other particle identification and correlations. -// Mixing analysis can be done, input AOD with events +// This part is commented: Mixing analysis can be done, input AOD with events // is opened in the AliCaloTrackReader::Init() // // @@ -78,12 +78,12 @@ AliCaloTrackAODReader::AliCaloTrackAODReader(const AliCaloTrackAODReader & aodr) //____________________________________________________________________________ -void AliCaloTrackAODReader::GetSecondInputAODVertex(Double_t v[3]) const { - //Return vertex position of second AOD input - - fSecondInputAODEvent->GetPrimaryVertex()->GetXYZ(v); - -} +//void AliCaloTrackAODReader::GetSecondInputAODVertex(Double_t v[3]) const { +// //Return vertex position of second AOD input +// +// fSecondInputAODEvent->GetPrimaryVertex()->GetXYZ(v); +// +//} //____________________________________________________________________________ Double_t AliCaloTrackAODReader::GetBField() const { @@ -143,15 +143,3 @@ void AliCaloTrackAODReader::SetInputOutputMCEvent(AliVEvent* input, AliAODEvent* } -//________________________________________________________________ -void AliCaloTrackAODReader::Print(const Option_t * opt) const -{ - - //Print some relevant parameters set for the analysis - AliCaloTrackReader::Print(opt); - - printf("Write std AOD = %d\n", fWriteOutputStdAOD) ; - - printf(" \n") ; -} - diff --git a/PWG4/PartCorrBase/AliCaloTrackAODReader.h b/PWG4/PartCorrBase/AliCaloTrackAODReader.h index 25640919fac..822393f1a93 100755 --- a/PWG4/PartCorrBase/AliCaloTrackAODReader.h +++ b/PWG4/PartCorrBase/AliCaloTrackAODReader.h @@ -7,7 +7,7 @@ //_________________________________________________________________________ // Class for reading data (AODs) in order to do prompt gamma or other particle // identification and correlations. -// Mixing analysis can be done, input AOD with events +// This part is commented: Mixing analysis can be done, input AOD with events // is opened in the AliCaloTrackReader::Init() // // @@ -31,16 +31,11 @@ public: Double_t GetBField() const; - void GetSecondInputAODVertex(Double_t v[3]) const ; + //void GetSecondInputAODVertex(Double_t v[3]) const ; void SetInputOutputMCEvent(AliVEvent* esd, AliAODEvent* aod, AliMCEvent* mc) ; - void SwitchOnWriteStdAOD() {fWriteOutputStdAOD = kTRUE;} - void SwitchOffWriteStdAOD() {fWriteOutputStdAOD = kFALSE;} - TString GetFiredTriggerClasses() {return ((AliAODEvent*)GetInputEvent())->GetFiredTriggerClasses();} - - void Print(const Option_t * opt) const; - + TString GetFiredTriggerClasses() {return ((AliAODEvent*)GetInputEvent())->GetFiredTriggerClasses();} ClassDef(AliCaloTrackAODReader,5) } ; diff --git a/PWG4/PartCorrBase/AliCaloTrackReader.cxx b/PWG4/PartCorrBase/AliCaloTrackReader.cxx index 470a39a85f9..c6da7f7fb50 100755 --- a/PWG4/PartCorrBase/AliCaloTrackReader.cxx +++ b/PWG4/PartCorrBase/AliCaloTrackReader.cxx @@ -21,7 +21,10 @@ // Mother class of : AliCaloTrackESDReader: Fills ESD data in 3 TObjArrays (PHOS, EMCAL, CTS) // : AliCaloTrackMCReader: Fills Kinematics data in 3 TObjArrays (PHOS, EMCAL, CTS) // : AliCaloTrackAODReader: Fills AOD data in 3 TObjArrays (PHOS, EMCAL, CTS) -// +// +// This part is commented: Mixing analysis can be done, input AOD with events +// is opened in the AliCaloTrackReader::Init() + //-- Author: Gustavo Conesa (LNF-INFN) ////////////////////////////////////////////////////////////////////////////// @@ -53,12 +56,13 @@ ClassImp(AliCaloTrackReader) fInputEvent(0x0), fOutputEvent(0x0),fMC(0x0), fFillCTS(0),fFillEMCAL(0),fFillPHOS(0), fFillEMCALCells(0),fFillPHOSCells(0), - fSecondInputAODTree(0x0), fSecondInputAODEvent(0x0), - fSecondInputFileName(""),fSecondInputFirstEvent(0), - fAODCTSNormalInputEntries(0), fAODEMCALNormalInputEntries(0), - fAODPHOSNormalInputEntries(0), fTrackStatus(0), +// fSecondInputAODTree(0x0), fSecondInputAODEvent(0x0), +// fSecondInputFileName(""),fSecondInputFirstEvent(0), +// fAODCTSNormalInputEntries(0), fAODEMCALNormalInputEntries(0), +// fAODPHOSNormalInputEntries(0), + fTrackStatus(0), fReadStack(kFALSE), fReadAODMCParticles(kFALSE), - fCleanOutputStdAOD(kFALSE), fDeltaAODFileName("deltaAODPartCorr.root"),fFiredTriggerClassName(""), + fDeltaAODFileName("deltaAODPartCorr.root"),fFiredTriggerClassName(""), fAnaLED(kFALSE),fTaskName(""),fCaloUtils(0x0), fMixedEvent(NULL), fNMixedEvent(1), fVertex(NULL), fWriteOutputStdAOD(kFALSE) { @@ -93,7 +97,6 @@ AliCaloTrackReader::AliCaloTrackReader(const AliCaloTrackReader & reader) : fAODPHOSNormalInputEntries(reader.fAODPHOSNormalInputEntries), fTrackStatus(reader.fTrackStatus), fReadStack(reader.fReadStack), fReadAODMCParticles(reader.fReadAODMCParticles), - fCleanOutputStdAOD(reader.fCleanOutputStdAOD), fDeltaAODFileName(reader.fDeltaAODFileName), fFiredTriggerClassName(reader.fFiredTriggerClassName), fAnaLED(reader.fAnaLED), fTaskName(reader.fTaskName), @@ -151,7 +154,6 @@ AliCaloTrackReader::AliCaloTrackReader(const AliCaloTrackReader & reader) : // fReadStack = source.fReadStack; // fReadAODMCParticles = source.fReadAODMCParticles; // -// fCleanOutputStdAOD = source.fCleanOutputStdAOD; // fDeltaAODFileName = source.fDeltaAODFileName; // // fFiredTriggerClassName = source.fFiredTriggerClassName ; @@ -279,43 +281,52 @@ AliGenEventHeader* AliCaloTrackReader::GetGenEventHeader() const { //____________________________________________________________________________ TClonesArray* AliCaloTrackReader::GetAODMCParticles(Int_t input) const { - //Return list of particles in AOD. Do it for the corresponding input event. + //Return list of particles in AOD. Do it for the corresponding input event. + TClonesArray * rv = NULL ; - // if(fDataType == kAOD){ - //Normal input AOD - AliAODEvent * evt = NULL ; - if (evt) { + if(fDataType == kAOD){ + if(input == 0){ - evt = dynamic_cast (fInputEvent) ; - rv = (TClonesArray*)evt->FindListObject("mcparticles"); - } else if(input == 1 && fSecondInputAODEvent){ //Second input AOD - rv = (TClonesArray*) fSecondInputAODEvent->FindListObject("mcparticles"); - } else { - printf("AliCaloTrackReader::GetAODMCParticles() - wrong AOD input index? %d, or non existing tree? \n",input); - } + //Normal input AOD + AliAODEvent * evt = dynamic_cast (fInputEvent) ; + if(evt) + rv = (TClonesArray*)evt->FindListObject("mcparticles"); + else + printf("AliCaloTrackReader::GetAODMCParticles() - wrong AOD input index? %d, or non existing tree? \n",input); + + } //else if(input == 1 && fSecondInputAODEvent){ //Second input AOD +// rv = (TClonesArray*) fSecondInputAODEvent->FindListObject("mcparticles"); +// } + } else { - printf("AliCaloTrackReader::GetAODMCParticles() - Input are not AODs\n"); + printf("AliCaloTrackReader::GetAODMCParticles() - Input are not AODs\n"); } + return rv ; } //____________________________________________________________________________ AliAODMCHeader* AliCaloTrackReader::GetAODMCHeader(Int_t input) const { //Return MC header in AOD. Do it for the corresponding input event. + AliAODMCHeader *mch = NULL; if(fDataType == kAOD){ //Normal input AOD - if(input == 0) return (AliAODMCHeader*)((AliAODEvent*)fInputEvent)->FindListObject("mcheader"); - //Second input AOD - else if(input == 1) return (AliAODMCHeader*) fSecondInputAODEvent->FindListObject("mcheader"); + if(input == 0) { + mch = (AliAODMCHeader*)((AliAODEvent*)fInputEvent)->FindListObject("mcheader"); + } +// //Second input AOD +// else if(input == 1){ +// mch = (AliAODMCHeader*) fSecondInputAODEvent->FindListObject("mcheader"); +// } else { printf("AliCaloTrackReader::GetAODMCHeader() - wrong AOD input index, %d\n",input); - return 0x0; } } else { printf("AliCaloTrackReader::GetAODMCHeader() - Input are not AODs\n"); - return 0x0; } + + return mch; } //_______________________________________________________________ @@ -332,27 +343,27 @@ void AliCaloTrackReader::Init() fReadAODMCParticles = kFALSE; } - if(fSecondInputFileName!=""){ - if(fDataType == kAOD){ - TFile * input2 = new TFile(fSecondInputFileName,"read"); - printf("AliCaloTrackReader::Init() - Second input file opened: %s, size %d \n", input2->GetName(), (Int_t) input2->GetSize()); - fSecondInputAODTree = (TTree*) input2->Get("aodTree"); - if(fSecondInputAODTree) printf("AliCaloTrackReader::Init() - Second input tree opened: %s, entries %d \n", - fSecondInputAODTree->GetName(), (Int_t) fSecondInputAODTree->GetEntries()); - else{ - printf("AliCaloTrackReader::Init() - Second input tree not available, STOP \n"); - abort(); - } - fSecondInputAODEvent = new AliAODEvent; - fSecondInputAODEvent->ReadFromTree(fSecondInputAODTree); - if(fSecondInputFirstEvent >= fSecondInputAODTree->GetEntriesFast()){ - printf("AliCaloTrackReader::Init() - Requested first event of second input %d, is larger than number of events %d, STOP\n", - fSecondInputFirstEvent, (Int_t) fSecondInputAODTree->GetEntriesFast()); - abort(); - } - } - else printf("AliCaloTrackReader::Init() - Second input not added, reader is not AOD\n"); - } +// if(fSecondInputFileName!=""){ +// if(fDataType == kAOD){ +// TFile * input2 = new TFile(fSecondInputFileName,"read"); +// printf("AliCaloTrackReader::Init() - Second input file opened: %s, size %d \n", input2->GetName(), (Int_t) input2->GetSize()); +// fSecondInputAODTree = (TTree*) input2->Get("aodTree"); +// if(fSecondInputAODTree) printf("AliCaloTrackReader::Init() - Second input tree opened: %s, entries %d \n", +// fSecondInputAODTree->GetName(), (Int_t) fSecondInputAODTree->GetEntries()); +// else{ +// printf("AliCaloTrackReader::Init() - Second input tree not available, STOP \n"); +// abort(); +// } +// fSecondInputAODEvent = new AliAODEvent; +// fSecondInputAODEvent->ReadFromTree(fSecondInputAODTree); +// if(fSecondInputFirstEvent >= fSecondInputAODTree->GetEntriesFast()){ +// printf("AliCaloTrackReader::Init() - Requested first event of second input %d, is larger than number of events %d, STOP\n", +// fSecondInputFirstEvent, (Int_t) fSecondInputAODTree->GetEntriesFast()); +// abort(); +// } +// } +// else printf("AliCaloTrackReader::Init() - Second input not added, reader is not AOD\n"); +// } } //_______________________________________________________________ @@ -371,11 +382,10 @@ void AliCaloTrackReader::InitParameters() fFillEMCALCells = kFALSE; fFillPHOSCells = kFALSE; - fSecondInputFileName = "" ; - fSecondInputFirstEvent = 0 ; + //fSecondInputFileName = "" ; + //fSecondInputFirstEvent = 0 ; fReadStack = kFALSE; // Check in the constructor of the other readers if it was set or in the configuration file fReadAODMCParticles = kFALSE; // Check in the constructor of the other readers if it was set or in the configuration file - fCleanOutputStdAOD = kFALSE; // Clean the standard clusters/tracks? fDeltaAODFileName = "deltaAODPartCorr.root"; fFiredTriggerClassName = ""; @@ -402,16 +412,17 @@ void AliCaloTrackReader::Print(const Option_t * opt) const printf("Use EMCAL Cells = %d\n", fFillEMCALCells) ; printf("Use PHOS Cells = %d\n", fFillPHOSCells) ; printf("Track status = %d\n", (Int_t) fTrackStatus) ; + printf("Write std AOD = %d\n", fWriteOutputStdAOD) ; + if(fComparePtHardAndJetPt) printf("Compare jet pt and pt hard to accept event, factor = %2.2f",fPtHardAndJetPtFactor); - if(fSecondInputFileName!="") { - printf("Second Input File Name = %s\n", fSecondInputFileName.Data()) ; - printf("Second Input First Event = %d\n", fSecondInputFirstEvent) ; - } +// if(fSecondInputFileName!="") { +// printf("Second Input File Name = %s\n", fSecondInputFileName.Data()) ; +// printf("Second Input First Event = %d\n", fSecondInputFirstEvent) ; +// } printf("Read Kine from, stack? %d, AOD ? %d \n", fReadStack, fReadAODMCParticles) ; - printf("Clean std AOD = %d\n", fCleanOutputStdAOD) ; printf("Delta AOD File Name = %s\n", fDeltaAODFileName.Data()) ; printf(" \n") ; } @@ -470,24 +481,24 @@ Bool_t AliCaloTrackReader::FillInputEvent(const Int_t iEntry, const char * curre } //In case of mixing events with other AOD file - if(fDataType == kAOD && fSecondInputAODTree){ - - if(fDebug > 1) - printf("AliCaloTrackReader::FillInputEvent() - Get event %d from second input AOD file \n", iEntry+fSecondInputFirstEvent); - if(fSecondInputAODTree->GetEntriesFast() <= iEntry+fSecondInputFirstEvent) { - if(fSecondInputAODTree->GetEntriesFast() == iEntry+fSecondInputFirstEvent) - printf("AliCaloTrackReader::FillInputEvent() - Skip events from event %d, no more events in second AOD file \n", iEntry); - return kFALSE; - } - - //Get the Event - Int_t nbytes = fSecondInputAODTree->GetEvent(iEntry+fSecondInputFirstEvent); - if ( nbytes == 0 ) {//If nothing in AOD - printf("AliCaloTrackReader::FillInputEvent() - Nothing in Second AOD input, STOP\n"); - abort() ; - } - - } + // if(fDataType == kAOD && fSecondInputAODTree){ +// +// if(fDebug > 1) +// printf("AliCaloTrackReader::FillInputEvent() - Get event %d from second input AOD file \n", iEntry+fSecondInputFirstEvent); +// if(fSecondInputAODTree->GetEntriesFast() <= iEntry+fSecondInputFirstEvent) { +// if(fSecondInputAODTree->GetEntriesFast() == iEntry+fSecondInputFirstEvent) +// printf("AliCaloTrackReader::FillInputEvent() - Skip events from event %d, no more events in second AOD file \n", iEntry); +// return kFALSE; +// } +// +// //Get the Event +// Int_t nbytes = fSecondInputAODTree->GetEvent(iEntry+fSecondInputFirstEvent); +// if ( nbytes == 0 ) {//If nothing in AOD +// printf("AliCaloTrackReader::FillInputEvent() - Nothing in Second AOD input, STOP\n"); +// abort() ; +// } +// +// } for (Int_t iev = 0; iev < fNMixedEvent; iev++) { @@ -523,11 +534,6 @@ void AliCaloTrackReader::ResetLists() { if(fAODPHOS) fAODPHOS -> Clear(); if(fEMCALCells) fEMCALCells -> Clear(); if(fPHOSCells) fPHOSCells -> Clear(); - if(fCleanOutputStdAOD && fOutputEvent ){ - //Only keep copied tracks and clusters if requested - fOutputEvent->GetTracks() ->Clear(); - fOutputEvent->GetCaloClusters()->Clear(); - } } @@ -606,8 +612,8 @@ void AliCaloTrackReader::FillInputCTS() { }//Pt and Fiducial cut passed. }// track loop - fAODCTSNormalInputEntries = fAODCTS->GetEntriesFast(); - if(fDebug > 1) printf("AliCaloTrackAODReader::FillInputCTS() - aod entries %d\n", fAODCTSNormalInputEntries); + //fAODCTSNormalInputEntries = fAODCTS->GetEntriesFast(); + if(fDebug > 1) printf("AliCaloTrackAODReader::FillInputCTS() - aod entries %d\n", fAODCTS->GetEntriesFast());//fAODCTSNormalInputEntries); // //If second input event available, add the clusters. // if(fSecondInputAODTree && fSecondInputAODEvent){ @@ -656,7 +662,7 @@ void AliCaloTrackReader::FillInputEMCAL() { if ( (clus = fInputEvent->GetCaloCluster(iclus)) ) { if (clus->IsEMCAL()){ - //Check if the cluster contains any bad channel and if close to calorimeter borders + //Check if the cluster contains any bad channel and if close to calorimeter borders Int_t vindex = 0 ; if (fMixedEvent) vindex = fMixedEvent->EventIndexForCaloCluster(iclus); @@ -679,7 +685,7 @@ void AliCaloTrackReader::FillInputEMCAL() { printf("AliCaloTrackAODReader::FillInputEMCAL() - Selected clusters E %3.2f, pt %3.2f, phi %3.2f, eta %3.2f\n", momentum.E(),momentum.Pt(),momentum.Phi()*TMath::RadToDeg(),momentum.Eta()); - //Recalibrate the cluster energy + //Recalibrate the cluster energy if(GetCaloUtils()->IsRecalibrationOn()) { Float_t energy = GetCaloUtils()->RecalibrateClusterEnergy(clus, (AliAODCaloCells*)GetEMCALCells()); clus->SetE(energy); @@ -703,8 +709,8 @@ void AliCaloTrackReader::FillInputEMCAL() { }//EMCAL cluster }// cluster exists }// cluster loop - fAODEMCALNormalInputEntries = fAODEMCAL->GetEntriesFast(); - if(fDebug > 1) printf("AliCaloTrackAODReader::FillInputEMCAL() - aod entries %d\n", fAODEMCALNormalInputEntries); + //fAODEMCALNormalInputEntries = fAODEMCAL->GetEntriesFast(); + if(fDebug > 1) printf("AliCaloTrackAODReader::FillInputEMCAL() - aod entries %d\n", fAODEMCAL->GetEntriesFast());//fAODEMCALNormalInputEntries); //If second input event available, add the clusters. // if(fSecondInputAODTree && fSecondInputAODEvent){ @@ -801,8 +807,8 @@ void AliCaloTrackReader::FillInputPHOS() { }//cluster exists }//esd cluster loop - fAODPHOSNormalInputEntries = fAODPHOS->GetEntriesFast() ; - if(fDebug > 1) printf("AliCaloTrackAODReader::FillInputPHOS() - aod entries %d\n", fAODPHOSNormalInputEntries); + //fAODPHOSNormalInputEntries = fAODPHOS->GetEntriesFast() ; + if(fDebug > 1) printf("AliCaloTrackAODReader::FillInputPHOS() - aod entries %d\n", fAODPHOS->GetEntriesFast());//fAODPHOSNormalInputEntries); //If second input event available, add the clusters. // if(fSecondInputAODTree && fSecondInputAODEvent){ diff --git a/PWG4/PartCorrBase/AliCaloTrackReader.h b/PWG4/PartCorrBase/AliCaloTrackReader.h index fc85a07eac9..262054bcf36 100755 --- a/PWG4/PartCorrBase/AliCaloTrackReader.h +++ b/PWG4/PartCorrBase/AliCaloTrackReader.h @@ -11,7 +11,10 @@ // Mother class of : AliCaloTrackESDReader: Fills ESD data in 3 TObjArrays (PHOS, EMCAL, CTS) // : AliCaloTrackMCReader: Fills Kinematics data in 3 TObjArrays (PHOS, EMCAL, CTS) // : AliCaloTrackAODReader: Fills AOD data in 3 TObjArrays (PHOS, EMCAL, CTS) -// +// +// This part is commented: Mixing analysis can be done, input AOD with events +// is opened in the AliCaloTrackReader::Init() + // -- Author: Gustavo Conesa (INFN-LNF) // --- ROOT system --- @@ -142,24 +145,24 @@ public: virtual void SetInputOutputMCEvent(AliVEvent* /*esd*/, AliAODEvent* /*aod*/, AliMCEvent* /*mc*/) {;} //Methods for mixing with external input file (AOD) - virtual TTree* GetSecondInputAODTree() const {return fSecondInputAODTree ; } + //virtual TTree* GetSecondInputAODTree() const {return fSecondInputAODTree ; } //virtual void SetSecondInputAODTree(TTree * tree) {fSecondInputAODTree = tree ; // fSecondInputAODEvent->ReadFromTree(tree);}//Connect tree and AOD event. - virtual AliAODEvent* GetSecondInputAODEvent() const { return fSecondInputAODEvent ; } + //virtual AliAODEvent* GetSecondInputAODEvent() const { return fSecondInputAODEvent ; } - TString GetSecondInputFileName() const {return fSecondInputFileName ; } - void SetSecondInputFileName(TString name) { fSecondInputFileName = name ; } + //TString GetSecondInputFileName() const {return fSecondInputFileName ; } + //void SetSecondInputFileName(TString name) { fSecondInputFileName = name ; } - Int_t GetSecondInputFirstEvent() const {return fSecondInputFirstEvent ; } - void SetSecondInputFirstEvent(Int_t iEvent0) { fSecondInputFirstEvent = iEvent0 ; } + //Int_t GetSecondInputFirstEvent() const {return fSecondInputFirstEvent ; } + //void SetSecondInputFirstEvent(Int_t iEvent0) { fSecondInputFirstEvent = iEvent0 ; } - Int_t GetAODCTSNormalInputEntries() {if(!fSecondInputAODTree) { fAODCTSNormalInputEntries = fAODCTS->GetEntriesFast() ;} - return fAODCTSNormalInputEntries ; } - Int_t GetAODEMCALNormalInputEntries() {if(!fSecondInputAODTree) { fAODEMCALNormalInputEntries = fAODEMCAL->GetEntriesFast();} - return fAODEMCALNormalInputEntries ; } - Int_t GetAODPHOSNormalInputEntries() {if(!fSecondInputAODTree) { fAODPHOSNormalInputEntries = fAODPHOS->GetEntriesFast() ;} - return fAODPHOSNormalInputEntries ; } +// Int_t GetAODCTSNormalInputEntries() {if(!fSecondInputAODTree) { fAODCTSNormalInputEntries = fAODCTS->GetEntriesFast() ;} +// return fAODCTSNormalInputEntries ; } +// Int_t GetAODEMCALNormalInputEntries() {if(!fSecondInputAODTree) { fAODEMCALNormalInputEntries = fAODEMCAL->GetEntriesFast();} +// return fAODEMCALNormalInputEntries ; } +// Int_t GetAODPHOSNormalInputEntries() {if(!fSecondInputAODTree) { fAODPHOSNormalInputEntries = fAODPHOS->GetEntriesFast() ;} +// return fAODPHOSNormalInputEntries ; } ULong_t GetTrackStatus() const {return fTrackStatus ; } void SetTrackStatus(ULong_t bit) { fTrackStatus = bit ; } @@ -171,9 +174,6 @@ public: Bool_t ReadStack() const { return fReadStack ; } Bool_t ReadAODMCParticles() const { return fReadAODMCParticles ; } - void SwitchOnCleanStdAOD() {fCleanOutputStdAOD = kTRUE;} - void SwitchOffCleanStdAOD() {fCleanOutputStdAOD = kFALSE;} - void SetDeltaAODFileName(TString name ) {fDeltaAODFileName = name ; } TString GetDeltaAODFileName() const {return fDeltaAODFileName ; } @@ -191,7 +191,9 @@ public: void SetCaloUtils(AliCalorimeterUtils * caloutils) { fCaloUtils = caloutils ; } Double_t * GetVertex() ; - + + void SwitchOnWriteStdAOD() {fWriteOutputStdAOD = kTRUE;} + void SwitchOffWriteStdAOD() {fWriteOutputStdAOD = kFALSE;} protected: Int_t fEventNumber; // Event number @@ -224,20 +226,19 @@ public: Bool_t fFillEMCALCells; // use data from EMCAL Bool_t fFillPHOSCells; // use data from PHOS - TTree * fSecondInputAODTree; // Tree with second input AOD, for mixing analysis. - AliAODEvent* fSecondInputAODEvent; //! pointer to second input AOD event. - TString fSecondInputFileName; // File with AOD data to mix with normal stream of data. - Int_t fSecondInputFirstEvent; // First event to be considered in the mixing. - - Int_t fAODCTSNormalInputEntries; // Number of entries in CTS in case of standard input, larger with mixing. - Int_t fAODEMCALNormalInputEntries; // Number of entries in EMCAL in case of standard input, larger with mixing. - Int_t fAODPHOSNormalInputEntries; // Number of entries in PHOS in case of standard input, larger with mixing. +// TTree * fSecondInputAODTree; // Tree with second input AOD, for mixing analysis. +// AliAODEvent* fSecondInputAODEvent; //! pointer to second input AOD event. +// TString fSecondInputFileName; // File with AOD data to mix with normal stream of data. +// Int_t fSecondInputFirstEvent; // First event to be considered in the mixing. +// +// Int_t fAODCTSNormalInputEntries; // Number of entries in CTS in case of standard input, larger with mixing. +// Int_t fAODEMCALNormalInputEntries; // Number of entries in EMCAL in case of standard input, larger with mixing. +// Int_t fAODPHOSNormalInputEntries; // Number of entries in PHOS in case of standard input, larger with mixing. ULong_t fTrackStatus ; // Track selection bit, select tracks refitted in TPC, ITS ... Bool_t fReadStack ; // Access kine information from stack Bool_t fReadAODMCParticles ; // Access kine information from filtered AOD MC particles - Bool_t fCleanOutputStdAOD; // clean the written standard tracks and caloclusters in output AOD TString fDeltaAODFileName ; // Delta AOD file name TString fFiredTriggerClassName ; // Name of trigger event type used to do the analysis @@ -254,7 +255,7 @@ public: Bool_t fWriteOutputStdAOD; // Write selected standard tracks and caloclusters in output AOD - ClassDef(AliCaloTrackReader,16) + ClassDef(AliCaloTrackReader,17) } ; diff --git a/PWG4/PartCorrBase/AliIsolationCut.cxx b/PWG4/PartCorrBase/AliIsolationCut.cxx index 503293deac3..0e57cbbedd7 100755 --- a/PWG4/PartCorrBase/AliIsolationCut.cxx +++ b/PWG4/PartCorrBase/AliIsolationCut.cxx @@ -184,7 +184,7 @@ void AliIsolationCut::MakeIsolationCut(TObjArray * const plCTS, TObjArray * co if(!reader->GetDataType()== AliCaloTrackReader::kMC) { reader->GetVertex(vertex); - if(reader->GetSecondInputAODTree()) reader->GetSecondInputAODVertex(vertex2); + //if(reader->GetSecondInputAODTree()) reader->GetSecondInputAODVertex(vertex2); } TLorentzVector mom ; for(Int_t ipr = 0;ipr < plNe->GetEntries() ; ipr ++ ){ @@ -196,8 +196,8 @@ void AliIsolationCut::MakeIsolationCut(TObjArray * const plCTS, TObjArray * co if(calo->GetNTracksMatched() > 0) continue ; //Input from second AOD? Int_t input = 0; - if (pCandidate->GetDetector() == "EMCAL" && reader->GetAODEMCALNormalInputEntries() <= ipr) input = 1 ; - else if(pCandidate->GetDetector() == "PHOS" && reader->GetAODPHOSNormalInputEntries() <= ipr) input = 1; +// if (pCandidate->GetDetector() == "EMCAL" && reader->GetAODEMCALNormalInputEntries() <= ipr) input = 1 ; +// else if(pCandidate->GetDetector() == "PHOS" && reader->GetAODPHOSNormalInputEntries() <= ipr) input = 1; //Get Momentum vector, if (input == 0) calo->GetMomentum(mom,vertex) ;//Assume that come from vertex in straight line diff --git a/PWG4/PartCorrDep/AliAnaBtag.cxx b/PWG4/PartCorrDep/AliAnaBtag.cxx index 98515a1819e..d750e9ee3a6 100644 --- a/PWG4/PartCorrDep/AliAnaBtag.cxx +++ b/PWG4/PartCorrDep/AliAnaBtag.cxx @@ -385,7 +385,7 @@ void AliAnaBtag::MakeAnalysisFillAOD() tr.SetDetector("CTS"); //PID determined by CTS } - if(GetReader()->GetAODCTSNormalInputEntries() <= itrk) tr.SetInputFileIndex(1); + //if(GetReader()->GetAODCTSNormalInputEntries() <= itrk) tr.SetInputFileIndex(1); //Make this preserve sign of particle if(track->Charge() < 0) tr.SetPdg(11); //electron is 11 else tr.SetPdg(-11); //positron is -11 @@ -643,7 +643,7 @@ Double_t AliAnaBtag::ComputeSignDca(AliAODTrack *tr, AliAODTrack *tr2 , float ma //FIXME: Add a check for whether file 2 is PYTHIA or HIJING //If PYTHIA, then set the vertex from file 2, if not, use the //vertex from file 1 - if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex); + //if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex); } TVector3 primV(vertex[0],vertex[1],vertex[2]) ; @@ -818,12 +818,12 @@ AliAODMCParticle* AliAnaBtag::GetMCParticle(Int_t ipart) if(!mcparticles0 && GetDebug() > 0) { printf("AliAnaBtag::MakeAnalysisFillHistograms() - Standard MCParticles not available!\n"); } - if(GetReader()->GetSecondInputAODTree()){ - mcparticles1 = GetReader()->GetAODMCParticles(1); - if(!mcparticles1 && GetDebug() > 0) { - printf("AliAnaBtag::MakeAnalysisFillHistograms() - Second input MCParticles not available!\n"); - } - } +// if(GetReader()->GetSecondInputAODTree()){ +// mcparticles1 = GetReader()->GetAODMCParticles(1); +// if(!mcparticles1 && GetDebug() > 0) { +// printf("AliAnaBtag::MakeAnalysisFillHistograms() - Second input MCParticles not available!\n"); +// } +// } Int_t npart0 = mcparticles0->GetEntriesFast(); Int_t npart1 = 0; diff --git a/PWG4/PartCorrDep/AliAnaChargedParticles.cxx b/PWG4/PartCorrDep/AliAnaChargedParticles.cxx index 324bc7ed3d0..466fa6dda46 100755 --- a/PWG4/PartCorrDep/AliAnaChargedParticles.cxx +++ b/PWG4/PartCorrDep/AliAnaChargedParticles.cxx @@ -270,7 +270,7 @@ void AliAnaChargedParticles::MakeAnalysisFillAOD() tr.SetLabel(track->GetLabel()); tr.SetTrackLabel(track->GetID(),-1); //Input from second AOD? - if(GetReader()->GetAODCTSNormalInputEntries() <= i) tr.SetInputFileIndex(1); + //if(GetReader()->GetAODCTSNormalInputEntries() <= i) tr.SetInputFileIndex(1); AddAODParticle(tr); }//selection diff --git a/PWG4/PartCorrDep/AliAnaElectron.cxx b/PWG4/PartCorrDep/AliAnaElectron.cxx index 1e0d38cfbd0..ad4cfacf701 100755 --- a/PWG4/PartCorrDep/AliAnaElectron.cxx +++ b/PWG4/PartCorrDep/AliAnaElectron.cxx @@ -763,7 +763,7 @@ void AliAnaElectron::MakeAnalysisFillAOD() if(IsDataMC()) { //Input from second AOD? Int_t input = 0; - if(GetReader()->GetAODCTSNormalInputEntries() <= itrk) input = 1; + //if(GetReader()->GetAODCTSNormalInputEntries() <= itrk) input = 1; tmctag = GetMCAnalysisUtils()->CheckOrigin(track->GetLabel(),GetReader(),input); if(trkChgHad) fhPtHadron->Fill(track->Pt(),GetMCSource(tmctag)); @@ -837,7 +837,7 @@ void AliAnaElectron::MakeAnalysisFillAOD() if(IsDataMC()) { //Do you want the cluster or the track label? Int_t input = 0; - if(GetReader()->GetAODEMCALNormalInputEntries() <= iclus) input = 1; + //if(GetReader()->GetAODEMCALNormalInputEntries() <= iclus) input = 1; cmctag = GetMCAnalysisUtils()->CheckOrigin(clus->GetLabel(),GetReader(),input); } @@ -899,7 +899,7 @@ void AliAnaElectron::MakeAnalysisFillAOD() tr.SetDetector("CTS"); //PID determined by CTS } - if(GetReader()->GetAODCTSNormalInputEntries() <= itrk) tr.SetInputFileIndex(1); + //if(GetReader()->GetAODCTSNormalInputEntries() <= itrk) tr.SetInputFileIndex(1); //Make this preserve sign of particle if(track->Charge() < 0) tr.SetPdg(11); //electron is 11 else tr.SetPdg(-11); //positron is -11 @@ -1396,7 +1396,7 @@ Double_t AliAnaElectron::ComputeSignDca(AliAODTrack *tr, AliAODTrack *tr2 , floa //FIXME: Add a check for whether file 2 is PYTHIA or HIJING //If PYTHIA, then set the vertex from file 2, if not, use the //vertex from file 1 - if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex); + //if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex); } TVector3 primV(vertex[0],vertex[1],vertex[2]) ; @@ -1824,12 +1824,12 @@ Int_t AliAnaElectron::GetNumAODMCParticles() if(!mcparticles0 && GetDebug() > 0) { printf("AliAnaElectron::MakeAnalysisFillHistograms() - Standard MCParticles not available!\n"); } - if(GetReader()->GetSecondInputAODTree()){ - mcparticles1 = GetReader()->GetAODMCParticles(1); - if(!mcparticles1 && GetDebug() > 0) { - printf("AliAnaElectron::MakeAnalysisFillHistograms() - Second input MCParticles not available!\n"); - } - } +// if(GetReader()->GetSecondInputAODTree()){ +// mcparticles1 = GetReader()->GetAODMCParticles(1); +// if(!mcparticles1 && GetDebug() > 0) { +// printf("AliAnaElectron::MakeAnalysisFillHistograms() - Second input MCParticles not available!\n"); +// } +// } Int_t npart0 = mcparticles0->GetEntriesFast(); Int_t npart1 = 0; @@ -1856,12 +1856,12 @@ AliAODMCParticle* AliAnaElectron::GetMCParticle(Int_t ipart) if(!mcparticles0 && GetDebug() > 0) { printf("AliAnaElectron::MakeAnalysisFillHistograms() - Standard MCParticles not available!\n"); } - if(GetReader()->GetSecondInputAODTree()){ - mcparticles1 = GetReader()->GetAODMCParticles(1); - if(!mcparticles1 && GetDebug() > 0) { - printf("AliAnaElectron::MakeAnalysisFillHistograms() - Second input MCParticles not available!\n"); - } - } +// if(GetReader()->GetSecondInputAODTree()){ +// mcparticles1 = GetReader()->GetAODMCParticles(1); +// if(!mcparticles1 && GetDebug() > 0) { +// printf("AliAnaElectron::MakeAnalysisFillHistograms() - Second input MCParticles not available!\n"); +// } +// } Int_t npart0 = mcparticles0->GetEntriesFast(); Int_t npart1 = 0; diff --git a/PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.cxx b/PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.cxx index 8d309a6fd96..5145d5d873c 100644 --- a/PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.cxx +++ b/PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.cxx @@ -388,7 +388,7 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms() AliStack * stack = 0x0; // TParticle * primary = 0x0; TClonesArray * mcparticles0 = 0x0; - TClonesArray * mcparticles1 = 0x0; + //TClonesArray * mcparticles1 = 0x0; AliAODMCParticle * aodprimary = 0x0; Int_t pdg=0; Double_t pt=0; @@ -415,12 +415,12 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms() if(!mcparticles0 && GetDebug() > 0) { printf("AliAnaAcceptance::MakeAnalysisFillHistograms() - Standard MCParticles not available!\n"); } - if(GetReader()->GetSecondInputAODTree()){ - mcparticles1 = GetReader()->GetAODMCParticles(1); - if(!mcparticles1 && GetDebug() > 0) { - printf("AliAnaAcceptance::MakeAnalysisFillHistograms() - Second input MCParticles not available!\n"); - } - } +// if(GetReader()->GetSecondInputAODTree()){ +// mcparticles1 = GetReader()->GetAODMCParticles(1); +// if(!mcparticles1 && GetDebug() > 0) { +// printf("AliAnaAcceptance::MakeAnalysisFillHistograms() - Second input MCParticles not available!\n"); +// } +// } for(Int_t i=0;iGetEntries();i++){ aodprimary =(AliAODMCParticle*)mcparticles0->At(i); pdg = aodprimary->GetPdgCode() ; diff --git a/PWG4/PartCorrDep/AliAnaParticleHadronCorrelation.cxx b/PWG4/PartCorrDep/AliAnaParticleHadronCorrelation.cxx index 8f829b55dd1..4293f087def 100755 --- a/PWG4/PartCorrDep/AliAnaParticleHadronCorrelation.cxx +++ b/PWG4/PartCorrDep/AliAnaParticleHadronCorrelation.cxx @@ -807,11 +807,11 @@ void AliAnaParticleHadronCorrelation::MakeNeutralCorrelationFillAOD(AliAODPWG4P GetMixedEvent()->GetVertexOfEvent(iev)->GetXYZ(GetVertex(iev)); } } - Double_t vertex2[] = {0.0,0.0,0.0} ; //vertex of second input aod - if(GetReader()->GetDataType()!= AliCaloTrackReader::kMC) - { - if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex2); - } +// Double_t vertex2[] = {0.0,0.0,0.0} ; //vertex of second input aod +// if(GetReader()->GetDataType()!= AliCaloTrackReader::kMC) +// { +// if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex2); +// } //Cluster loop, select pairs with good pt, phi and fill AODs or histograms //Int_t iEvent= GetReader()->GetEventNumber() ; @@ -827,17 +827,17 @@ void AliAnaParticleHadronCorrelation::MakeNeutralCorrelationFillAOD(AliAODPWG4P //Input from second AOD? Int_t inputi = 0; - if (aodParticle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= iclus) - inputi = 1 ; - else if(aodParticle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= iclus) - inputi = 1; +// if (aodParticle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= iclus) +// inputi = 1 ; +// else if(aodParticle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= iclus) +// inputi = 1; //Cluster selection, not charged, with photon or pi0 id and in fiducial cut Int_t pdg=0; if (inputi == 0 && !SelectCluster(calo, GetVertex(evtIndex1), gammai, pdg)) continue ; - else if(inputi == 1 && !SelectCluster(calo, vertex2, gammai, pdg)) - continue ; +// else if(inputi == 1 && !SelectCluster(calo, vertex2, gammai, pdg)) +// continue ; if(GetDebug() > 2) printf("AliAnaParticleHadronCorrelation::MakeNeutralCorrelationFillAOD() - Neutral cluster in %s: pt %f, phi %f, phi trigger %f. Cuts: delta phi min %2.2f, max %2.2f, pT min %2.2f \n", @@ -889,17 +889,17 @@ void AliAnaParticleHadronCorrelation::MakeNeutralCorrelationFillAOD(AliAODPWG4P //Input from second AOD? Int_t inputj = 0; - if (aodParticle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= jclus) - inputj = 1; - else if(aodParticle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= jclus) - inputj = 1; +// if (aodParticle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= jclus) +// inputj = 1; +// else if(aodParticle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= jclus) +// inputj = 1; //Cluster selection, not charged with photon or pi0 id and in fiducial cut Int_t pdgj=0; if (inputj == 0 && !SelectCluster(calo2, GetVertex(evtIndex2), gammaj, pdgj)) continue ; - else if(inputj == 1 && !SelectCluster(calo2, vertex2, gammaj, pdgj)) - continue ; +// else if(inputj == 1 && !SelectCluster(calo2, vertex2, gammaj, pdgj)) +// continue ; if(!SelectCluster(calo2,GetVertex(evtIndex2), gammaj, pdgj)) continue ; diff --git a/PWG4/PartCorrDep/AliAnaParticleIsolation.cxx b/PWG4/PartCorrDep/AliAnaParticleIsolation.cxx index 4888f275b35..a065f62f337 100755 --- a/PWG4/PartCorrDep/AliAnaParticleIsolation.cxx +++ b/PWG4/PartCorrDep/AliAnaParticleIsolation.cxx @@ -745,28 +745,28 @@ void AliAnaParticleIsolation::MakeAnalysisFillHistograms() //Loop on stored AOD Int_t naod = GetInputAODBranch()->GetEntriesFast(); if(GetDebug() > 0) printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - Histo aod branch entries %d\n", naod); - + //Get vertex for photon momentum calculation Double_t vertex[]={0,0,0} ; //vertex ; - Double_t vertex2[]={0,0,0} ; //vertex ; + //Double_t vertex2[]={0,0,0} ; //vertex ; if(GetReader()->GetDataType() != AliCaloTrackReader::kMC) { GetReader()->GetVertex(vertex); - if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex2); + //if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex2); } for(Int_t iaod = 0; iaod < naod ; iaod++){ AliAODPWG4ParticleCorrelation* aod = (AliAODPWG4ParticleCorrelation*) (GetInputAODBranch()->At(iaod)); - + Bool_t isolation = aod->IsIsolated(); Float_t ptcluster = aod->Pt(); Float_t phicluster = aod->Phi(); Float_t etacluster = aod->Eta(); //Recover reference arrays with clusters and tracks - TObjArray * refclusters = aod->GetObjArray(GetAODObjArrayName()+"Clusters"); + TObjArray * refclusters = aod->GetObjArray(GetAODObjArrayName()+"Clusters"); TObjArray * reftracks = aod->GetObjArray(GetAODObjArrayName()+"Tracks"); - - //If too small or too large pt, skip - if(aod->Pt() < GetMinPt() || aod->Pt() > GetMaxPt() ) continue ; + + //If too small or too large pt, skip + if(aod->Pt() < GetMinPt() || aod->Pt() > GetMaxPt() ) continue ; if(fMakeSeveralIC) { //Analysis of multiple IC at same time @@ -778,88 +778,88 @@ void AliAnaParticleIsolation::MakeAnalysisFillHistograms() n=0; nfrac = 0; isolated = kFALSE; coneptsum = 0; GetIsolationCut()->MakeIsolationCut(reftracks, refclusters, GetReader(), kFALSE, aod, "", n,nfrac,coneptsum, isolated); fhConeSumPt->Fill(ptcluster,coneptsum); - if(GetDebug() > 0) printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - Energy Sum in Isolation Cone %2.2f\n", coneptsum); - } + if(GetDebug() > 0) printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - Energy Sum in Isolation Cone %2.2f\n", coneptsum); + } //Fill pt distribution of particles in cone //Tracks coneptsum=0; - if(reftracks){ - for(Int_t itrack=0; itrack < reftracks->GetEntriesFast(); itrack++){ - AliAODTrack* track = (AliAODTrack *) reftracks->At(itrack); - fhPtInCone->Fill(ptcluster,TMath::Sqrt(track->Px()*track->Px()+track->Py()*track->Py())); - coneptsum+=track->Pt(); - } - } + if(reftracks){ + for(Int_t itrack=0; itrack < reftracks->GetEntriesFast(); itrack++){ + AliAODTrack* track = (AliAODTrack *) reftracks->At(itrack); + fhPtInCone->Fill(ptcluster,TMath::Sqrt(track->Px()*track->Px()+track->Py()*track->Py())); + coneptsum+=track->Pt(); + } + } //CaloClusters - if(refclusters){ - TLorentzVector mom ; - for(Int_t icalo=0; icalo < refclusters->GetEntriesFast(); icalo++){ - AliAODCaloCluster* calo = (AliAODCaloCluster *) refclusters->At(icalo); - Int_t input = 0; - if (fCalorimeter == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= icalo) input = 1 ; - else if(fCalorimeter == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= icalo) input = 1; - - //Get Momentum vector, - if (input == 0) calo->GetMomentum(mom,vertex) ;//Assume that come from vertex in straight line - else if(input == 1) calo->GetMomentum(mom,vertex2);//Assume that come from vertex in straight line - - fhPtInCone->Fill(ptcluster, mom.Pt()); - coneptsum+=mom.Pt(); - } + if(refclusters){ + TLorentzVector mom ; + for(Int_t icalo=0; icalo < refclusters->GetEntriesFast(); icalo++){ + AliAODCaloCluster* calo = (AliAODCaloCluster *) refclusters->At(icalo); + Int_t input = 0; + // if (fCalorimeter == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= icalo) input = 1 ; + // else if(fCalorimeter == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= icalo) input = 1; + + //Get Momentum vector, + if (input == 0) calo->GetMomentum(mom,vertex) ;//Assume that come from vertex in straight line + // else if(input == 1) calo->GetMomentum(mom,vertex2);//Assume that come from vertex in straight line + + fhPtInCone->Fill(ptcluster, mom.Pt()); + coneptsum+=mom.Pt(); + } } - if(GetDebug() > 1) printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - Particle %d Energy Sum in Isolation Cone %2.2f\n", iaod, coneptsum); + if(GetDebug() > 1) printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - Particle %d Energy Sum in Isolation Cone %2.2f\n", iaod, coneptsum); - if(!fReMakeIC) fhConeSumPt->Fill(ptcluster,coneptsum); + if(!fReMakeIC) fhConeSumPt->Fill(ptcluster,coneptsum); if(isolation){ - - if(GetDebug() > 1) printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - Particle %d ISOLATED, fill histograms\n", iaod); - + + if(GetDebug() > 1) printf("AliAnaParticleIsolation::MakeAnalysisFillHistograms() - Particle %d ISOLATED, fill histograms\n", iaod); + fhPtIso ->Fill(ptcluster); fhPhiIso ->Fill(ptcluster,phicluster); fhEtaIso ->Fill(ptcluster,etacluster); if(IsDataMC()){ - Int_t tag =aod->GetTag(); - - if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPrompt)){ - fhPtIsoPrompt ->Fill(ptcluster); - fhPhiIsoPrompt ->Fill(ptcluster,phicluster); - fhEtaIsoPrompt ->Fill(ptcluster,etacluster); - } - else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCFragmentation)) - { - fhPtIsoFragmentation ->Fill(ptcluster); - fhPhiIsoFragmentation ->Fill(ptcluster,phicluster); - fhEtaIsoFragmentation ->Fill(ptcluster,etacluster); - } - else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay)) - { - fhPtIsoPi0Decay ->Fill(ptcluster); - fhPhiIsoPi0Decay ->Fill(ptcluster,phicluster); - fhEtaIsoPi0Decay ->Fill(ptcluster,etacluster); - } - else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay) || GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay)) - { - fhPtIsoOtherDecay ->Fill(ptcluster); - fhPhiIsoOtherDecay ->Fill(ptcluster,phicluster); - fhEtaIsoOtherDecay ->Fill(ptcluster,etacluster); - } - else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) - { - fhPtIsoConversion ->Fill(ptcluster); - fhPhiIsoConversion ->Fill(ptcluster,phicluster); - fhEtaIsoConversion ->Fill(ptcluster,etacluster); - } - else - { - fhPtIsoUnknown ->Fill(ptcluster); - fhPhiIsoUnknown ->Fill(ptcluster,phicluster); - fhEtaIsoUnknown ->Fill(ptcluster,etacluster); - } + Int_t tag =aod->GetTag(); + + if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPrompt)){ + fhPtIsoPrompt ->Fill(ptcluster); + fhPhiIsoPrompt ->Fill(ptcluster,phicluster); + fhEtaIsoPrompt ->Fill(ptcluster,etacluster); + } + else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCFragmentation)) + { + fhPtIsoFragmentation ->Fill(ptcluster); + fhPhiIsoFragmentation ->Fill(ptcluster,phicluster); + fhEtaIsoFragmentation ->Fill(ptcluster,etacluster); + } + else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay)) + { + fhPtIsoPi0Decay ->Fill(ptcluster); + fhPhiIsoPi0Decay ->Fill(ptcluster,phicluster); + fhEtaIsoPi0Decay ->Fill(ptcluster,etacluster); + } + else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay) || GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay)) + { + fhPtIsoOtherDecay ->Fill(ptcluster); + fhPhiIsoOtherDecay ->Fill(ptcluster,phicluster); + fhEtaIsoOtherDecay ->Fill(ptcluster,etacluster); + } + else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) + { + fhPtIsoConversion ->Fill(ptcluster); + fhPhiIsoConversion ->Fill(ptcluster,phicluster); + fhEtaIsoConversion ->Fill(ptcluster,etacluster); + } + else + { + fhPtIsoUnknown ->Fill(ptcluster); + fhPhiIsoUnknown ->Fill(ptcluster,phicluster); + fhEtaIsoUnknown ->Fill(ptcluster,etacluster); + } }//Histograms with MC }//Isolated histograms diff --git a/PWG4/PartCorrDep/AliAnaParticleJetLeadingConeCorrelation.cxx b/PWG4/PartCorrDep/AliAnaParticleJetLeadingConeCorrelation.cxx index d9be2e7ded1..a93f84fbbce 100755 --- a/PWG4/PartCorrDep/AliAnaParticleJetLeadingConeCorrelation.cxx +++ b/PWG4/PartCorrDep/AliAnaParticleJetLeadingConeCorrelation.cxx @@ -958,11 +958,11 @@ void AliAnaParticleJetLeadingConeCorrelation::GetLeadingPi0(AliAODPWG4ParticleC //Get vertex for photon momentum calculation Double_t vertex [] = {0,0,0} ; //vertex - Double_t vertex2[] = {0,0,0} ; //vertex of second input AOD + //Double_t vertex2[] = {0,0,0} ; //vertex of second input AOD if(GetReader()->GetDataType() != AliCaloTrackReader::kMC) { GetReader()->GetVertex(vertex); - if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex2); + //if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex2); } //Cluster loop, select pairs with good pt, phi and fill AODs or histograms @@ -971,13 +971,13 @@ void AliAnaParticleJetLeadingConeCorrelation::GetLeadingPi0(AliAODPWG4ParticleC //Input from second AOD? Int_t inputi = 0; - if (particle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= iclus) inputi = 1 ; - else if(particle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= iclus) inputi = 1; +// if (particle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= iclus) inputi = 1 ; +// else if(particle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= iclus) inputi = 1; //Cluster selection, not charged, with photon or pi0 id and in fiducial cut Int_t pdgi=0; if (inputi == 0 && !SelectCluster(calo, vertex, gammai, pdgi)) continue ; - else if(inputi == 1 && !SelectCluster(calo, vertex2, gammai, pdgi)) continue ; + //else if(inputi == 1 && !SelectCluster(calo, vertex2, gammai, pdgi)) continue ; if(GetDebug() > 2) printf("AliAnaParticleJetLeadingConeCorrelation::GetLeadingPi0() - Neutral cluster: pt %2.3f, phi %2.3f \n", gammai.Pt(),gammai.Phi()); @@ -1011,13 +1011,13 @@ void AliAnaParticleJetLeadingConeCorrelation::GetLeadingPi0(AliAODPWG4ParticleC //Input from second AOD? Int_t inputj = 0; - if (particle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= jclus) inputj = 1; - else if(particle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= jclus) inputj = 1; +// if (particle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= jclus) inputj = 1; +// else if(particle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= jclus) inputj = 1; //Cluster selection, not charged with photon or pi0 id and in fiducial cut Int_t pdgj=0; if (inputj == 0 && !SelectCluster(calo2, vertex, gammaj, pdgj)) continue ; - else if(inputj == 1 && !SelectCluster(calo2, vertex2, gammaj, pdgj)) continue ; + //else if(inputj == 1 && !SelectCluster(calo2, vertex2, gammaj, pdgj)) continue ; if(pdgj == AliCaloPID::kPhoton ){ @@ -1508,11 +1508,11 @@ void AliAnaParticleJetLeadingConeCorrelation::MakeAODJet(AliAODPWG4ParticleCorre //Get vertex for photon momentum calculation Double_t vertex[] = {0,0,0} ; //vertex - Double_t vertex2[] = {0,0,0} ; //vertex of second input aod + //Double_t vertex2[] = {0,0,0} ; //vertex of second input aod if(GetReader()->GetDataType()!= AliCaloTrackReader::kMC) { GetReader()->GetVertex(vertex); - if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex2); + //if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex2); } for(Int_t iclus = 0;iclus < (GetAODEMCAL())->GetEntriesFast() ; iclus ++ ){ @@ -1523,12 +1523,12 @@ void AliAnaParticleJetLeadingConeCorrelation::MakeAODJet(AliAODPWG4ParticleCorre //Input from second AOD? Int_t input = 0; - if (particle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= iclus) input = 1 ; - else if(particle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= iclus) input = 1; - +// if (particle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= iclus) input = 1 ; +// else if(particle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= iclus) input = 1; +// //Get Momentum vector, if (input == 0) calo->GetMomentum(lv,vertex) ;//Assume that come from vertex in straight line - else if(input == 1) calo->GetMomentum(lv,vertex2);//Assume that come from vertex in straight line + //else if(input == 1) calo->GetMomentum(lv,vertex2);//Assume that come from vertex in straight line //Particles in jet if(IsParticleInJetCone(lv.Eta(),lv.Phi(), etal, phil)){ @@ -1626,11 +1626,11 @@ void AliAnaParticleJetLeadingConeCorrelation::MakeJetFromAOD(AliAODPWG4ParticleC //Get vertex for photon momentum calculation Double_t vertex[] = {0,0,0} ; //vertex - Double_t vertex2[] = {0,0,0} ; //vertex of second input aod + //Double_t vertex2[] = {0,0,0} ; //vertex of second input aod if(GetReader()->GetDataType()!= AliCaloTrackReader::kMC) { GetReader()->GetVertex(vertex); - if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex2); + //if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex2); } //Loop on jet particles @@ -1640,12 +1640,12 @@ void AliAnaParticleJetLeadingConeCorrelation::MakeJetFromAOD(AliAODPWG4ParticleC //Input from second AOD? Int_t input = 0; - if (particle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= iclus) input = 1 ; - else if(particle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= iclus) input = 1; + // if (particle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= iclus) input = 1 ; +// else if(particle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= iclus) input = 1; //Get Momentum vector, if (input == 0) calo->GetMomentum(lv,vertex) ;//Assume that come from vertex in straight line - else if(input == 1) calo->GetMomentum(lv,vertex2);//Assume that come from vertex in straight line + //else if(input == 1) calo->GetMomentum(lv,vertex2);//Assume that come from vertex in straight line if(lv.Pt() > ptcut && IsParticleInJetCone(lv.Eta(),lv.Phi(), etal, phil)) jet+=lv; }//jet cluster loop @@ -1658,12 +1658,12 @@ void AliAnaParticleJetLeadingConeCorrelation::MakeJetFromAOD(AliAODPWG4ParticleC //Input from second AOD? Int_t input = 0; - if (particle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= iclus) input = 1 ; - else if(particle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= iclus) input = 1; +// if (particle->GetDetector() == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= iclus) input = 1 ; +// else if(particle->GetDetector() == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= iclus) input = 1; //Get Momentum vector, if (input == 0) calo->GetMomentum(lv,vertex) ;//Assume that come from vertex in straight line - else if(input == 1) calo->GetMomentum(lv,vertex2);//Assume that come from vertex in straight line + //else if(input == 1) calo->GetMomentum(lv,vertex2);//Assume that come from vertex in straight line if( lv.Pt() > ptcut && IsParticleInJetCone(lv.Eta(),lv.Phi(),etal, phiTrig)) bkg+=lv; }//background cluster loop diff --git a/PWG4/PartCorrDep/AliAnaPhoton.cxx b/PWG4/PartCorrDep/AliAnaPhoton.cxx index a7a99a93ae6..5e5e4625889 100755 --- a/PWG4/PartCorrDep/AliAnaPhoton.cxx +++ b/PWG4/PartCorrDep/AliAnaPhoton.cxx @@ -458,13 +458,13 @@ void AliAnaPhoton::MakeAnalysisFillAOD() GetMixedEvent()->GetVertexOfEvent(iev)->GetXYZ(GetVertex(iev)); } - Double_t vertex2[] = {0,0,0} ; //vertex from second input aod - - if(GetReader()->GetDataType()!= AliCaloTrackReader::kMC) - { - if(GetReader()->GetSecondInputAODTree()) - GetReader()->GetSecondInputAODVertex(vertex2); - } +// Double_t vertex2[] = {0,0,0} ; //vertex from second input aod +// +// if(GetReader()->GetDataType()!= AliCaloTrackReader::kMC) +// { +// if(GetReader()->GetSecondInputAODTree()) +// GetReader()->GetSecondInputAODVertex(vertex2); +// } //printf("Vertex 0: %f,%f,%f\n",vertex[0],vertex[1],vertex[2]); //printf("Vertex 1: %f,%f,%f\n",vertex2[0],vertex2[1],vertex2[2]); //Select the Calorimeter of the photon @@ -493,16 +493,16 @@ void AliAnaPhoton::MakeAnalysisFillAOD() //Input from second AOD? Int_t input = 0; - if (fCalorimeter == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= icalo) - input = 1 ; - else if(fCalorimeter == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= icalo) - input = 1; +// if (fCalorimeter == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= icalo) +// input = 1 ; +// else if(fCalorimeter == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= icalo) +// input = 1; //Get Momentum vector, if (input == 0) calo->GetMomentum(mom,GetVertex(evtIndex)) ;//Assume that come from vertex in straight line - else if(input == 1) - calo->GetMomentum(mom,vertex2);//Assume that come from vertex in straight line +// else if(input == 1) +// calo->GetMomentum(mom,vertex2);//Assume that come from vertex in straight line //If too small or big pt, skip it if(mom.Pt() < GetMinPt() || mom.Pt() > GetMaxPt() ) continue ; @@ -691,12 +691,12 @@ void AliAnaPhoton::MakeAnalysisFillHistograms() if(!mcparticles0 && GetDebug() > 0) { printf("AliAnaPhoton::MakeAnalysisFillHistograms() - Standard MCParticles not available!\n"); } - if(GetReader()->GetSecondInputAODTree()){ - mcparticles1 = GetReader()->GetAODMCParticles(1); - if(!mcparticles1 && GetDebug() > 0) { - printf("AliAnaPhoton::MakeAnalysisFillHistograms() - Second input MCParticles not available!\n"); - } - } +// if(GetReader()->GetSecondInputAODTree()){ +// mcparticles1 = GetReader()->GetAODMCParticles(1); +// if(!mcparticles1 && GetDebug() > 0) { +// printf("AliAnaPhoton::MakeAnalysisFillHistograms() - Second input MCParticles not available!\n"); +// } +// } } }// is data and MC diff --git a/PWG4/PartCorrDep/AliAnaPi0EbE.cxx b/PWG4/PartCorrDep/AliAnaPi0EbE.cxx index b8ecc437c3c..4de6c122e89 100755 --- a/PWG4/PartCorrDep/AliAnaPi0EbE.cxx +++ b/PWG4/PartCorrDep/AliAnaPi0EbE.cxx @@ -471,7 +471,7 @@ void AliAnaPi0EbE::MakeShowerShapeIdentification() if(GetReader()->GetDataType() != AliCaloTrackReader::kMC) { GetReader()->GetVertex(vertex); - if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex2); + //if(GetReader()->GetSecondInputAODTree()) GetReader()->GetSecondInputAODVertex(vertex2); } //Select the Calorimeter of the photon @@ -488,12 +488,12 @@ void AliAnaPi0EbE::MakeShowerShapeIdentification() //Input from second AOD? Int_t input = 0; - if (fCalorimeter == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= icalo) input = 1 ; - else if(fCalorimeter == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= icalo) input = 1; +// if (fCalorimeter == "EMCAL" && GetReader()->GetAODEMCALNormalInputEntries() <= icalo) input = 1 ; +// else if(fCalorimeter == "PHOS" && GetReader()->GetAODPHOSNormalInputEntries() <= icalo) input = 1; //Get Momentum vector, if (input == 0) calo->GetMomentum(mom,vertex) ;//Assume that come from vertex in straight line - else if(input == 1) calo->GetMomentum(mom,vertex2);//Assume that come from vertex in straight line + //else if(input == 1) calo->GetMomentum(mom,vertex2);//Assume that come from vertex in straight line //If too small or big pt, skip it if(mom.Pt() < GetMinPt() || mom.Pt() > GetMaxPt() ) continue ; -- 2.39.3