//check on centrality distribution\r
fHistMan->GetPtHistogram("CentCheck")->Fill(fAOD->GetCentrality()->GetCentralityPercentile("V0M"),fAOD->GetHeader()->GetCentralityP()->GetCentralityPercentileUnchecked("V0M"));\r
\r
- if(!fEventCuts->IsSelected(fAOD))return;//event selection\r
- \r
+ if(!fEventCuts->IsSelected(fAOD,fTrackCuts))return;//event selection\r
+ \r
//AliCentrality fAliCentral*;\r
// if ((fAOD->GetCentrality())->GetCentralityPercentile("V0M") > 5.) return;\r
\r
{\r
AliAODMCParticle *partMC = (AliAODMCParticle*) arrayMC->At(iMC);\r
if(!partMC->Charge()) continue;//Skip neutrals\r
- if(TMath::Abs(partMC->Eta()) > fTrackCuts->GetEta()) continue;\r
+ //if(TMath::Abs(partMC->Eta()) > fTrackCuts->GetEta()) continue; FIXME eta cut should not be there!!!! we want the generated in y<0.5\r
fHistMan->GetPtHistogram(kHistPtGen)->Fill(partMC->Pt(),partMC->IsPhysicalPrimary());\r
\r
if(TMath::Abs(partMC->Y()) > fTrackCuts->GetY() ) continue; \r
// Get true ID\r
Int_t idGen = fPID->GetParticleSpecie(partMC);\r
//if(TMath::Abs(partMC->Y()) > fTrackCuts->GetY() ) continue; // FIXME: do we need a rapidity cut on the generated?\r
- \r
// Fill histograms for primaries\r
- //if (idRec == idGen) fHistMan->GetHistogram2D(kHistPtRecTrue, idGen, charge)->Fill(track->Pt(),d[0]); \r
-\r
- if (isPrimary) {\r
- //fHistMan ->GetPtHistogram(kHistPtRecPrimary)->Fill(track->Pt(),d[0]); // PT histo\r
- fHistMan ->GetHistogram2D(kHistPtRecPrimary, idGen, charge)->Fill(track->Pt(),d[0]);\r
- if (idRec == idGen) fHistMan->GetHistogram2D(kHistPtRecTruePrimary, idGen, charge)->Fill(track->Pt(),d[0]); \r
- fHistMan ->GetHistogram2D(kHistPtRecSigmaPrimary, idRec, charge)->Fill(track->Pt(),d[0]); \r
+ if(idGen != kSpUndefined) {\r
+ \r
+ if (idRec == idGen) fHistMan->GetHistogram2D(kHistPtRecTrue, idGen, charge)->Fill(track->Pt(),d[0]); \r
+ \r
+ if (isPrimary) {\r
+ fHistMan ->GetPtHistogram(kHistPtRecPrimary)->Fill(track->Pt(),d[0]); // PT histo\r
+ fHistMan ->GetHistogram2D(kHistPtRecPrimary, idGen, charge)->Fill(track->Pt(),d[0]);\r
+ if (idRec == idGen) fHistMan->GetHistogram2D(kHistPtRecTruePrimary, idGen, charge)->Fill(track->Pt(),d[0]); \r
+ fHistMan ->GetHistogram2D(kHistPtRecSigmaPrimary, idRec, charge)->Fill(track->Pt(),d[0]); \r
+ }\r
}\r
//25th Apr - Muons are added to Pions -- FIXME\r
if ( partMC->PdgCode() == 13 && idRec == kSpPion) { \r
}\r
\r
///..... END FIXME\r
-\r
+ \r
// Fill secondaries\r
if(isSecondaryWeak ) fHistMan->GetHistogram2D(kHistPtRecSigmaSecondaryWeakDecay, idRec, charge)->Fill(track->Pt(),d[0]);\r
if(isSecondaryMaterial) fHistMan->GetHistogram2D(kHistPtRecSigmaSecondaryMaterial , idRec, charge)->Fill(track->Pt(),d[0]);\r
- \r
+ \r
}//end if(arrayMC)\r
} // end loop on tracks\r
\r
#include "AliAnalysisTaskESDfilter.h"
#include "AliAnalysisDataContainer.h"
#include "AliSpectraAODEventCuts.h"
+#include "AliSpectraAODTrackCuts.h"
#include "AliSpectraAODHistoManager.h"
#include <iostream>
AliSpectraAODEventCuts::AliSpectraAODEventCuts(const char *name) : TNamed(name, "AOD Event Cuts"), fAOD(0), fIsSelected(0), fCentralityCutMin(0), fCentralityCutMax(0), fHistoCuts(0)
{
- // Constructor
- fHistoCuts = new TH1I("fEventCuts", "Event Cuts", kNVtxCuts, -0.5, kNVtxCuts - 0.5);
- fCentralityCutMin = 0.0; // default value of centrality cut minimum, 0 ~ no cut
- fCentralityCutMax = 10000.0; // default value of centrality cut maximum, ~ no cut
+ // Constructor
+ fHistoCuts = new TH1I("fEventCuts", "Event Cuts", kNVtxCuts, -0.5, kNVtxCuts - 0.5);
+ fHistoVtxBefSel = new TH1F("fHistoVtxBefSel", "Vtx distr before event selection",500,-15,15);
+ fHistoVtxAftSel = new TH1F("fHistoVtxAftSel", "Vtx distr after event selection",500,-15,15);
+ fHistoEtaBefSel = new TH1F("fHistoEtaBefSel", "Eta distr before event selection",500,-2,2);
+ fHistoEtaAftSel = new TH1F("fHistoEtaAftSel", "Eta distr after event selection",500,-2,2);
+ fCentralityCutMin = 0.0; // default value of centrality cut minimum, 0 ~ no cut
+ fCentralityCutMax = 10000.0; // default value of centrality cut maximum, ~ no cut
}
//______________________________________________________
-Bool_t AliSpectraAODEventCuts::IsSelected(AliAODEvent * aod)
+Bool_t AliSpectraAODEventCuts::IsSelected(AliAODEvent * aod,AliSpectraAODTrackCuts *trackcuts)
{
-// Returns true if Event Cuts are selected and applied
- fAOD = aod;
- fIsSelected = (CheckVtxRange() && CheckCentralityCut());
- if(fIsSelected) fHistoCuts->Fill(kAcceptedEvents);
- return fIsSelected;
+ // Returns true if Event Cuts are selected and applied
+ fAOD = aod;
+ fTrackCuts = trackcuts;
+ fHistoCuts->Fill(kProcessedEvents);
+ //loop on tracks, before event selection, filling QA histos
+ AliAODVertex * vertex = fAOD->GetPrimaryVertex();//FIXME vertex is recreated
+ if(vertex)fHistoVtxBefSel->Fill(vertex->GetZ());
+ fIsSelected = (CheckVtxRange() && CheckCentralityCut());
+ if(fIsSelected){
+ fHistoCuts->Fill(kAcceptedEvents);
+ if(vertex)fHistoVtxAftSel->Fill(vertex->GetZ());
+ }
+ for (Int_t iTracks = 0; iTracks < fAOD->GetNumberOfTracks(); iTracks++) {
+ AliAODTrack* track = fAOD->GetTrack(iTracks);
+ if (!fTrackCuts->IsSelected(track)) continue;
+ fHistoEtaBefSel->Fill(track->Eta());
+ if(fIsSelected) fHistoEtaAftSel->Fill(track->Eta());
+ }
+ return fIsSelected;
}
//______________________________________________________
Bool_t AliSpectraAODEventCuts::CheckVtxRange()
{
// reject events outside of range
- AliAODVertex * vertex = fAOD->GetPrimaryVertex();
- if (!vertex)
- {
+ AliAODVertex * vertex = fAOD->GetPrimaryVertex();
+ if (!vertex)
+ {
fHistoCuts->Fill(kVtxNoEvent);
return kFALSE;
- }
- if (TMath::Abs(vertex->GetZ()) < 10)
- {
+ }
+ if (TMath::Abs(vertex->GetZ()) < 10)
+ {
return kTRUE;
- }
- fHistoCuts->Fill(kVtxRange);
- return kFALSE;
+ }
+ fHistoCuts->Fill(kVtxRange);
+ return kFALSE;
}
//______________________________________________________
Bool_t AliSpectraAODEventCuts::CheckCentralityCut()
{
- // Check centrality cut
- if ( (fAOD->GetCentrality()->GetCentralityPercentile("V0M") <= fCentralityCutMax) && (fAOD->GetCentrality()->GetCentralityPercentile("V0M") >= fCentralityCutMin) ) return kTRUE;
- fHistoCuts->Fill(kVtxCentral);
- return kFALSE;
+ // Check centrality cut
+ if ( (fAOD->GetCentrality()->GetCentralityPercentile("V0M") <= fCentralityCutMax) && (fAOD->GetCentrality()->GetCentralityPercentile("V0M") >= fCentralityCutMin) ) return kTRUE;
+ fHistoCuts->Fill(kVtxCentral);
+ return kFALSE;
}
//______________________________________________________
void AliSpectraAODEventCuts::PrintCuts()
{
- // print info about event cuts
- cout << "Event Stats" << endl;
- cout << " > Number of accepted events: " << fHistoCuts->GetBinContent(kAcceptedEvents + 1) << endl;
- cout << " > Vertex out of range: " << fHistoCuts->GetBinContent(kVtxRange + 1) << endl;
- cout << " > Events cut by centrality: " << fHistoCuts->GetBinContent(kVtxCentral + 1) << endl;
- cout << " > Events without vertex: " << fHistoCuts->GetBinContent(kVtxNoEvent + 1) << endl;
- }
+ // print info about event cuts
+ cout << "Event Stats" << endl;
+ cout << " > Number of accepted events: " << fHistoCuts->GetBinContent(kAcceptedEvents + 1) << endl;
+ cout << " > Number of processed events: " << fHistoCuts->GetBinContent(kProcessedEvents + 1) << endl;
+ cout << " > Vertex out of range: " << fHistoCuts->GetBinContent(kVtxRange + 1) << endl;
+ cout << " > Events cut by centrality: " << fHistoCuts->GetBinContent(kVtxCentral + 1) << endl;
+ cout << " > Events without vertex: " << fHistoCuts->GetBinContent(kVtxNoEvent + 1) << endl;
+}
//______________________________________________________
Long64_t AliSpectraAODEventCuts::Merge(TCollection* list)
}
/// FIXME: Q vector
- // //Selection on QVector, before ANY other selection on the event
- // //Spectra MUST be normalized wrt events AFTER the selection on Qvector
- // // Can we include this in fEventCuts
- // Double_t Qx2EtaPos = 0, Qy2EtaPos = 0;
- // Double_t Qx2EtaNeg = 0, Qy2EtaNeg = 0;
- // Int_t multPos = 0;
- // Int_t multNeg = 0;
- // for(Int_t iT = 0; iT < fAOD->GetNumberOfTracks(); iT++) {
- // AliAODTrack* aodTrack = fAOD->GetTrack(iT);
- // if (!fTrackCuts->IsSelected(aodTrack)) continue;
- // if (aodTrack->Eta() >= 0){
- // multPos++;
- // Qx2EtaPos += TMath::Cos(2*aodTrack->Phi());
- // Qy2EtaPos += TMath::Sin(2*aodTrack->Phi());
- // } else {
- // multNeg++;
- // Qx2EtaNeg += TMath::Cos(2*aodTrack->Phi());
- // Qy2EtaNeg += TMath::Sin(2*aodTrack->Phi());
- // }
- // }
- // Double_t qPos=-999;
- // if(multPos!=0)qPos= TMath::Sqrt((Qx2EtaPos*Qx2EtaPos + Qy2EtaPos*Qy2EtaPos)/multPos);
- // Double_t qNeg=-999;
- // if(multNeg!=0)qNeg= TMath::Sqrt((Qx2EtaNeg*Qx2EtaNeg + Qy2EtaNeg*Qy2EtaNeg)/multNeg);
+// //Selection on QVector, before ANY other selection on the event
+// //Spectra MUST be normalized wrt events AFTER the selection on Qvector
+// // Can we include this in fEventCuts
+// Double_t Qx2EtaPos = 0, Qy2EtaPos = 0;
+// Double_t Qx2EtaNeg = 0, Qy2EtaNeg = 0;
+// Int_t multPos = 0;
+// Int_t multNeg = 0;
+// for(Int_t iT = 0; iT < fAOD->GetNumberOfTracks(); iT++) {
+// AliAODTrack* aodTrack = fAOD->GetTrack(iT);
+// if (!fTrackCuts->IsSelected(aodTrack)) continue;
+// if (aodTrack->Eta() >= 0){
+// multPos++;
+// Qx2EtaPos += TMath::Cos(2*aodTrack->Phi());
+// Qy2EtaPos += TMath::Sin(2*aodTrack->Phi());
+// } else {
+// multNeg++;
+// Qx2EtaNeg += TMath::Cos(2*aodTrack->Phi());
+// Qy2EtaNeg += TMath::Sin(2*aodTrack->Phi());
+// }
+// }
+// Double_t qPos=-999;
+// if(multPos!=0)qPos= TMath::Sqrt((Qx2EtaPos*Qx2EtaPos + Qy2EtaPos*Qy2EtaPos)/multPos);
+// Double_t qNeg=-999;
+// if(multNeg!=0)qNeg= TMath::Sqrt((Qx2EtaNeg*Qx2EtaNeg + Qy2EtaNeg*Qy2EtaNeg)/multNeg);
- // if((qPos>fTrackCuts->GetQvecMin() && qPos<fTrackCuts->GetQvecMax()) || (qNeg>fTrackCuts->GetQvecMin() && qNeg<fTrackCuts->GetQvecMax())){
+// if((qPos>fTrackCuts->GetQvecMin() && qPos<fTrackCuts->GetQvecMax()) || (qNeg>fTrackCuts->GetQvecMin() && qNeg<fTrackCuts->GetQvecMax())){
- //fill q distributions vs centrality, after all event selection
- // fHistMan->GetqVecHistogram(kHistqVecPos)->Fill(qPos,fAOD->GetCentrality()->GetCentralityPercentile("V0M")); // qVector distribution
- // fHistMan->GetqVecHistogram(kHistqVecNeg)->Fill(qNeg,fAOD->GetCentrality()->GetCentralityPercentile("V0M")); // qVector distribution
+//fill q distributions vs centrality, after all event selection
+// fHistMan->GetqVecHistogram(kHistqVecPos)->Fill(qPos,fAOD->GetCentrality()->GetCentralityPercentile("V0M")); // qVector distribution
+// fHistMan->GetqVecHistogram(kHistqVecNeg)->Fill(qNeg,fAOD->GetCentrality()->GetCentralityPercentile("V0M")); // qVector distribution
//-------------------------------------------------------------------------
class AliAODEvent;
+class AliSpectraAODTrackCuts;
class AliSpectraAODHistoManager;
#include "TNamed.h"
class AliSpectraAODEventCuts : public TNamed
{
-public:
- enum { kAcceptedEvents = 0, kVtxRange, kVtxCentral, kVtxNoEvent, kNVtxCuts};
+ public:
+ enum { kProcessedEvents = 0,kAcceptedEvents, kVtxRange, kVtxCentral, kVtxNoEvent, kNVtxCuts};
- // Constructors
- AliSpectraAODEventCuts() : TNamed(), fAOD(0), fIsSelected(0), fCentralityCutMin(0), fCentralityCutMax(0), fHistoCuts(0) {}
- AliSpectraAODEventCuts(const char *name);
- virtual ~AliSpectraAODEventCuts() {}
+ // Constructors
+ AliSpectraAODEventCuts() : TNamed(), fAOD(0), fIsSelected(0), fCentralityCutMin(0), fCentralityCutMax(0), fHistoCuts(0),fHistoVtxBefSel(0),fHistoVtxAftSel(0),fHistoEtaBefSel(0),fHistoEtaAftSel(0) {}
+ AliSpectraAODEventCuts(const char *name);
+ virtual ~AliSpectraAODEventCuts() {}
- // Methods
- Bool_t IsSelected(AliAODEvent * aod);
- Bool_t CheckVtxRange();
- Bool_t CheckCentralityCut();
- void SetCentralityCutMin(Float_t cut) { fCentralityCutMin = cut; }
- void SetCentralityCutMax(Float_t cut) { fCentralityCutMax = cut; }
+ // Methods
+ Bool_t IsSelected(AliAODEvent * aod,AliSpectraAODTrackCuts *trackcuts);
+ Bool_t CheckVtxRange();
+ Bool_t CheckCentralityCut();
+ void SetCentralityCutMin(Float_t cut) { fCentralityCutMin = cut; }
+ void SetCentralityCutMax(Float_t cut) { fCentralityCutMax = cut; }
- TH1I * GetHistoCuts() { return fHistoCuts; }
- Float_t GetCentralityMin() const { return fCentralityCutMin; }
- Float_t GetCentralityMax() const { return fCentralityCutMax; }
- void PrintCuts();
- Float_t NumberOfEvents() { return fHistoCuts->GetBinContent(kAcceptedEvents+1); }
+ TH1I * GetHistoCuts() { return fHistoCuts; }
+ TH1F * GetHistoVtxBefSel() { return fHistoVtxBefSel; }
+ TH1F * GetHistoVtxAftSel() { return fHistoVtxAftSel; }
+ TH1F * GetHistoEtaBefSel() { return fHistoEtaBefSel; }
+ TH1F * GetHistoEtaAftSel() { return fHistoEtaAftSel; }
+ Float_t GetCentralityMin() const { return fCentralityCutMin; }
+ Float_t GetCentralityMax() const { return fCentralityCutMax; }
+ void PrintCuts();
+ Float_t NumberOfEvents() { return fHistoCuts->GetBinContent(kAcceptedEvents+1); }
+ Float_t NumberOfProcessedEvents() { return fHistoCuts->GetBinContent(kProcessedEvents+1); }
Long64_t Merge(TCollection* list);
-private:
-
- AliAODEvent *fAOD; //! AOD event
- Bool_t fIsSelected; // True if cuts are selected
- Float_t fCentralityCutMin; // minimum centrality percentile
+ private:
+
+ AliAODEvent *fAOD; //! AOD event
+ AliSpectraAODTrackCuts *fTrackCuts; //! track cuts
+ Bool_t fIsSelected; // True if cuts are selected
+ Float_t fCentralityCutMin; // minimum centrality percentile
Float_t fCentralityCutMax; // maximum centrality percentile
- TH1I *fHistoCuts; // Cuts statistics
- AliSpectraAODEventCuts(const AliSpectraAODEventCuts&);
- AliSpectraAODEventCuts& operator=(const AliSpectraAODEventCuts&);
-
- ClassDef(AliSpectraAODEventCuts, 2);
-
+ TH1I *fHistoCuts; // Cuts statistics
+ TH1F *fHistoVtxBefSel; // Vtx distr before event selection
+ TH1F *fHistoVtxAftSel; // Vtx distr after event selection
+ TH1F *fHistoEtaBefSel; // Eta distr before event selection
+ TH1F *fHistoEtaAftSel; // Eta distr after event selection
+ AliSpectraAODEventCuts(const AliSpectraAODEventCuts&);
+ AliSpectraAODEventCuts& operator=(const AliSpectraAODEventCuts&);
+
+ ClassDef(AliSpectraAODEventCuts, 2);
+
};
#endif
TH2F * hist = new TH2F(name,Form("P_{T} distribution (%s)", name),nbinsTempl,templBins,2,-0.5,1.5);//need to be at least 1 becuase the generated are filled with (pt,IsPhysPrim)
hist->GetXaxis()->SetTitle("generated P_{T} (GeV / c)");
- hist->GetYaxis()->SetTitle("DCA xy");
+ hist->GetYaxis()->SetTitle("IsPhysicalPrimary()");
hist->SetMarkerStyle(kFullCircle);
hist->Sumw2();
fOutputList->Add(hist);
//comparison with charged hadron
Printf("\n\n-> ChargedHadron comparison");
- TCanvas *cAllCh=new TCanvas("cAllCh","cAllCh",700,500);
- cAllCh->Divide(1,2);
TH1F *hChHad_data=(TH1F*)((TH1F*)hman_data->GetPtHistogram1D("hHistPtRec",-1,-1))->Clone();
//fraction of sec in MC
TH1F *hPrimRec_mc=(TH1F*)((TH1F*)hman_mc->GetPtHistogram1D("hHistPtRecPrimary",-1,-1))->Clone();
Double_t en_mc=hAllRec_mc->GetBinContent(ibin);
Double_t prim_mc=hPrimRec_mc->GetBinContent(ibin);
if(en_mc!=0)hChHad_data->SetBinContent(ibin,en_data-(en_data*(en_mc-prim_mc)*1.1/en_mc));
- Printf("Before: %.0f After: %.0f fraction: %.1f",en_data,hChHad_data->GetBinContent(ibin),hChHad_data->GetBinContent(ibin)/en_data);
+ //Printf("Before: %.0f After: %.0f fraction: %.1f",en_data,hChHad_data->GetBinContent(ibin),hChHad_data->GetBinContent(ibin)/en_data);
}
hPrimRec_mc->Divide(hAllRec_mc);
//efficiency for primaries
TH1F *hEff_mc=(TH1F*)((TH1F*)hman_mc->GetPtHistogram1D("hHistPtRecPrimary",-1,-1))->Clone();
hEff_mc->Divide((TH1F*)((TH1F*)hman_mc->GetPtHistogram1D("hHistPtGen",1,1))->Clone());
+ TCanvas *cAllChFactors=new TCanvas("cAllChFactors","cAllChFactors",700,500);
+ cAllChFactors->Divide(1,2);
+ cAllChFactors->cd(1);
+ gPad->SetGridy();
+ gPad->SetGridx();
+ hPrimRec_mc->SetTitle("Prim/All, charged hadron pure MC");
+ hPrimRec_mc->DrawClone("lhist");
+ gPad->BuildLegend();
+ cAllChFactors->cd(2);
+ gPad->SetGridy();
+ gPad->SetGridx();
+ hEff_mc->SetTitle("Efficiency for Primaries, charged hadron pure MC");
+ hEff_mc->DrawClone("lhist");
+ gPad->BuildLegend();
//Printf("--------%f ",((TH1F*)hman_mc->GetPtHistogram1D("hHistPtGen",1,1))->GetEntries()/1.6/ecuts_mc->NumberOfEvents());
hChHad_data->Scale(1./events_data,"width");//NORMALIZATION
hChHad_data->Divide(hEff_mc);//Efficiency
hChHad_data->Scale(1./(2*tcuts_data->GetEta()));
hChHad_data->SetTitle("All Ch from AOD");
+ TCanvas *cAllCh=new TCanvas("cAllCh","cAllCh",700,500);
+ cAllCh->Divide(1,2);
cAllCh->cd(1);
gPad->SetGridy();
gPad->SetGridx();
-void runAODProof(Int_t c=1, const char * proofMode = "full")
+void runAODProof(Int_t c=2, const char * proofMode = "full")
{ //1 data AOD049
//2 MC AOD048
//3 data AOD086
//handler->SetAliROOTVersion("v5-03-11-AN");
handler->SetAliROOTVersion("v5-03-17-AN");
- //handler->SetNproofWorkers(28);
- //handler->SetNproofWorkersPerSlave(1);
- handler->SetProofCluster(Form("%s@alice-caf.cern.ch", gSystem->Getenv("CAFUSER")));
- //handler->SetProofCluster(Form("%s@skaf.saske.sk",gSystem->Getenv("CAFUSER")));
+ //handler->SetNproofWorkers(5);
+ //handler->SetNproofWorkersPerSlave(5);
+ //handler->SetProofCluster(Form("%s@alice-caf.cern.ch", gSystem->Getenv("CAFUSER")));
+ handler->SetProofCluster(Form("%s@skaf.saske.sk",gSystem->Getenv("CAFUSER")));
// Set handler for Real DATA:
if (c == 1){
//handler->SetProofDataSet("/alice/data/LHC10h_000138653_p2_AOD049#aodTree");
gROOT->LoadMacro("AliAnalysisTaskSpectraAOD.cxx+g");
handler->SetAliRootMode("default");
- handler->SetAdditionalLibs("AliSpectraAODHistoManager.cxx AliSpectraAODHistoManager.h AliSpectraAODPID.cxx AliSpectraAODPID.h AliSpectraAODEventCuts.cxx AliSpectraAODEventCuts.h AliSpectraAODTrackCuts.cxx AliSpectraAODTrackCuts.h AliAnalysisTaskSpectraAOD.cxx AliAnalysisTaskSpectraAOD.h");
- handler->SetAnalysisSource("Histograms.h HistogramNames.h AliSpectraAODHistoManager.cxx+ AliSpectraAODEventCuts.cxx+ AliSpectraAODTrackCuts.cxx+ AliSpectraAODPID.cxx+ AliAnalysisTaskSpectraAOD.cxx+");
+ handler->SetAdditionalLibs("AliSpectraAODHistoManager.cxx AliSpectraAODHistoManager.h AliSpectraAODPID.cxx AliSpectraAODPID.h AliSpectraAODTrackCuts.cxx AliSpectraAODTrackCuts.h AliSpectraAODEventCuts.cxx AliSpectraAODEventCuts.h AliAnalysisTaskSpectraAOD.cxx AliAnalysisTaskSpectraAOD.h");
+ handler->SetAnalysisSource("Histograms.h HistogramNames.h AliSpectraAODHistoManager.cxx+ AliSpectraAODTrackCuts.cxx+ AliSpectraAODEventCuts.cxx+ AliSpectraAODPID.cxx+ AliAnalysisTaskSpectraAOD.cxx+");
// handler->SetFileForTestMode("filelist.txt"); // list of local files for testing
// handler->SetAliRootMode("");
handler->SetClearPackages();
// Double_t QvecCutMax[4]={100,100,100,100};
using namespace AliSpectraNameSpace;
AliSpectraAODPID *pid = new AliSpectraAODPID(kNSigmaTPCTOF);
- pid->SetNSigmaCut(5.);
+ pid->SetNSigmaCut(3.);
for(Int_t iCut=1;iCut<2;iCut++){
AliAnalysisTaskSpectraAOD *task = new AliAnalysisTaskSpectraAOD("TaskAODExercise");