AliAnalysisTaskSpectraAOD* AddTaskSpectraAOD(int mc=0,\r
Double_t CentCutMin=0,\r
Double_t CentCutMax=100,\r
- Double_t QvecPosCutMin=0,\r
- Double_t QvecPosCutMax=100,\r
- Double_t QvecNegCutMin=0,\r
- Double_t QvecNegCutMax=100,\r
+ Double_t QvecCutMin=0,\r
+ Double_t QvecCutMax=100,\r
Double_t EtaMin=-0.8,\r
Double_t EtaMax=0.8,\r
Double_t Nsigmapid=3.,\r
trcuts->PrintCuts();\r
\r
AliSpectraAODEventCuts * evcuts = new AliSpectraAODEventCuts("Event Cuts");\r
- evcuts->SetQVectorPosCut(QvecPosCutMin,QvecPosCutMax);\r
- evcuts->SetQVectorNegCut(QvecNegCutMin,QvecNegCutMax);\r
+ evcuts->SetQVectorCut(QvecCutMin,QvecCutMax);\r
evcuts->SetCentralityCutMax(CentCutMax); \r
evcuts->SetCentralityCutMin(CentCutMin);\r
evcuts->SetTrackBits(trkbitQVector);\r
if(mc==1)evcuts->SetIsMC(kTRUE);\r
evcuts->PrintCuts();\r
\r
- AliAnalysisTaskSpectraAOD *task = new AliAnalysisTaskSpectraAOD(Form("TaskAODSpectraCent%.0fto%.0f_QVecPos%.1fto%.1f_QVecNeg%.1fto%.1f_Eta%.1fto%.1f", \r
+ AliAnalysisTaskSpectraAOD *task = new AliAnalysisTaskSpectraAOD(Form("TaskAODSpectraCent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f", \r
CentCutMin,\r
CentCutMax,\r
- QvecPosCutMin,\r
- QvecPosCutMax,\r
- QvecNegCutMin,\r
- QvecNegCutMax,\r
+ QvecCutMin,\r
+ QvecCutMax,\r
EtaMin,\r
EtaMax));\r
task->SetPID(pid); \r
\r
TString typeofdata=mc?"MC":"Data";\r
\r
- outputFileName += Form(":OutputAODSpectraTask_%s_Cent%.0fto%.0f_QVecPos%.1fto%.1f_QVecNeg%.1fto%.1f_Eta%.1fto%.1f.root",typeofdata.Data(),evcuts->GetCentralityMin(),evcuts->GetCentralityMax(),\r
- evcuts->GetQVectorPosCutMin(), evcuts->GetQVectorPosCutMax(),evcuts->GetQVectorNegCutMin(), evcuts->GetQVectorNegCutMax(),trcuts->GetEtaMin(),trcuts->GetEtaMax());\r
+ outputFileName += Form(":OutputAODSpectraTask_%s_Cent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f.root",typeofdata.Data(),evcuts->GetCentralityMin(),evcuts->GetCentralityMax(),\r
+ evcuts->GetQVectorCutMin(), evcuts->GetQVectorCutMax(),trcuts->GetEtaMin(),trcuts->GetEtaMax());\r
\r
cout<<outputFileName<<endl;\r
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer(); \r
ClassImp(AliSpectraAODEventCuts)
-AliSpectraAODEventCuts::AliSpectraAODEventCuts(const char *name) : TNamed(name, "AOD Event Cuts"), fAOD(0), fTrackBits(0),fIsMC(0), fIsSelected(0), fCentralityCutMin(0), fCentralityCutMax(0), fQVectorPosCutMin(0), fQVectorPosCutMax(0), fQVectorNegCutMin(0), fQVectorNegCutMax(0), fHistoCuts(0),fHistoVtxBefSel(0),fHistoVtxAftSel(0),fHistoEtaBefSel(0),fHistoEtaAftSel(0),fHistoNChAftSel(0),fHistoQVectorPos(0),fHistoQVectorNeg(0)
+AliSpectraAODEventCuts::AliSpectraAODEventCuts(const char *name) : TNamed(name, "AOD Event Cuts"), fAOD(0), fTrackBits(0),fIsMC(0), fIsSelected(0), fCentralityCutMin(0), fCentralityCutMax(0), fQVectorCutMin(0), fQVectorCutMax(0), fHistoCuts(0),fHistoVtxBefSel(0),fHistoVtxAftSel(0),fHistoEtaBefSel(0),fHistoEtaAftSel(0),fHistoNChAftSel(0),fHistoQVector(0)
+,fHistoEP(0)
{
// Constructor
fHistoCuts = new TH1I("fEventCuts", "Event Cuts", kNVtxCuts, -0.5, kNVtxCuts - 0.5);
fHistoEtaBefSel = new TH1F("fHistoEtaBefSel", "Eta distr before event selection",500,-2,2);
fHistoEtaAftSel = new TH1F("fHistoEtaAftSel", "Eta distr after event selection",500,-2,2);
fHistoNChAftSel = new TH1F("fHistoNChAftSel", "NCh distr after event selection",2000,-0.5,1999.5);
- fHistoQVectorPos = new TH1F("fHistoQVectorPos", "QVectorPos distribution",100,0,10);
- fHistoQVectorNeg = new TH1F("fHistoQVectorNeg", "QVectorNeg distribution",100,0,10);
+ //fHistoQVectorPos = new TH1F("fHistoQVectorPos", "QVectorPos distribution",100,0,10);
+ //fHistoQVectorNeg = new TH1F("fHistoQVectorNeg", "QVectorNeg distribution",100,0,10);
+ fHistoQVector = new TH1F("fHistoQVector", "QVector with VZERO distribution",100,0,10);
+ fHistoEP = new TH1F("fHistoEP", "EP with VZERO distribution",100,-10,10);
fCentralityCutMin = 0.0; // default value of centrality cut minimum, 0 ~ no cut
fCentralityCutMax = 10000.0; // default value of centrality cut maximum, ~ no cut
- fQVectorPosCutMin=0.0;
- fQVectorPosCutMax=10000.0;
- fQVectorNegCutMin=0.0;
- fQVectorNegCutMax=10000.0;
+ // fQVectorPosCutMin=0.0;
+ // fQVectorPosCutMax=10000.0;
+ // fQVectorNegCutMin=0.0;
+ // fQVectorNegCutMax=10000.0;
+ fQVectorCutMin=0.0;
+ fQVectorCutMax=10000.0;
fTrackBits=1;
}
/// FIXME: Q vector
// //Selection on QVector, before ANY other selection on the event
// //Spectra MUST be normalized wrt events AFTER the selection on Qvector
- 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 (!aodTrack->TestFilterBit(fTrackBits)) 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);
+ // 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 (!aodTrack->TestFilterBit(fTrackBits)) 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<fQVectorPosCutMin || qPos>fQVectorPosCutMax || qNeg<fQVectorNegCutMin || qNeg>fQVectorNegCutMax)return kFALSE;
- //Printf("Cuts on Q vector: %f,%f,%f,%f",fQVectorPosCutMin,fQVectorPosCutMax,fQVectorNegCutMin,fQVectorNegCutMax);
- //Printf("Q vectors: %f,%f",qPos,qNeg);
- if(qPos<fQVectorPosCutMin || qPos>fQVectorPosCutMax || qNeg<fQVectorNegCutMin || qNeg>fQVectorNegCutMax)return kFALSE;
+ Double_t qxEPVZERO = 0, qyEPVZERO = 0;
+ Double_t qVZERO = -999;
+ Double_t psi=fAOD->GetEventplane()->CalculateVZEROEventPlane(fAOD,10,2,qxEPVZERO,qyEPVZERO);
+ qVZERO= TMath::Sqrt(qxEPVZERO*qxEPVZERO + qyEPVZERO*qyEPVZERO);
+ if(qVZERO<fQVectorCutMin || qVZERO>fQVectorCutMax)return kFALSE;
+ fHistoQVector->Fill(qVZERO);
+ fHistoEP->Fill(psi);
fHistoCuts->Fill(kQVector);
- fHistoQVectorPos->Fill(qPos);
- fHistoQVectorNeg->Fill(qNeg);
+ // fHistoQVectorPos->Fill(qPos);
+ // fHistoQVectorNeg->Fill(qNeg);
return kTRUE;
}
cout << " > Events without vertex: " << fHistoCuts->GetBinContent(kVtxNoEvent + 1) << endl;
cout << " > QVector cut: " << fHistoCuts->GetBinContent(kQVector + 1) << endl;
cout << " > Track type used for the QVector calculation: " << fTrackBits << endl;
- cout << " > QPosRange: [" << fQVectorPosCutMin <<"," <<fQVectorPosCutMax<<"]"<< endl;
- cout << " > QNegRange: [" << fQVectorNegCutMin <<"," <<fQVectorNegCutMax<<"]"<< endl;
+ // cout << " > QPosRange: [" << fQVectorPosCutMin <<"," <<fQVectorPosCutMax<<"]"<< endl;
+ // cout << " > QNegRange: [" << fQVectorNegCutMin <<"," <<fQVectorNegCutMax<<"]"<< endl;
+ cout << " > QRange: [" << fQVectorCutMin <<"," <<fQVectorCutMax<<"]"<< endl;
cout << " > Centrality: [" << fCentralityCutMin <<"," <<fCentralityCutMax<<"]"<< endl;
}
//______________________________________________________
TList collections_histoEtaBefSel;
TList collections_histoEtaAftSel;
TList collections_histoNChAftSel;
- TList collections_histoQVectorPos;
- TList collections_histoQVectorNeg;
+ // TList collections_histoQVectorPos;
+ // TList collections_histoQVectorNeg;
+ TList collections_histoQVector;
+ TList collections_histoEP;
Int_t count = 0;
collections_histoEtaAftSel.Add(histo_histoEtaAftSel);
TH1F * histo_histoNChAftSel = entry->GetHistoNChAftSel();
collections_histoNChAftSel.Add(histo_histoNChAftSel);
- TH1F * histo_histoQVectorPos = entry->GetHistoQVectorPos();
- collections_histoQVectorPos.Add(histo_histoQVectorPos);
- TH1F * histo_histoQVectorNeg = entry->GetHistoQVectorNeg();
- collections_histoQVectorNeg.Add(histo_histoQVectorNeg);
+ // TH1F * histo_histoQVectorPos = entry->GetHistoQVectorPos();
+ // collections_histoQVectorPos.Add(histo_histoQVectorPos);
+ // TH1F * histo_histoQVectorNeg = entry->GetHistoQVectorNeg();
+ // collections_histoQVectorNeg.Add(histo_histoQVectorNeg);
+ TH1F * histo_histoQVector = entry->GetHistoQVector();
+ collections_histoQVector.Add(histo_histoQVector);
+ TH1F * histo_histoEP = entry->GetHistoEP();
+ collections_histoEP.Add(histo_histoEP);
count++;
}
fHistoEtaBefSel->Merge(&collections_histoEtaBefSel);
fHistoEtaAftSel->Merge(&collections_histoEtaAftSel);
fHistoNChAftSel->Merge(&collections_histoNChAftSel);
- fHistoQVectorPos->Merge(&collections_histoQVectorPos);
- fHistoQVectorNeg->Merge(&collections_histoQVectorNeg);
+ // fHistoQVectorPos->Merge(&collections_histoQVectorPos);
+ // fHistoQVectorNeg->Merge(&collections_histoQVectorNeg);
+ fHistoQVector->Merge(&collections_histoQVector);
+ fHistoEP->Merge(&collections_histoEP);
+
delete iter;
return count+1;
enum { kProcessedEvents = 0,kPhysSelEvents,kAcceptedEvents, kVtxRange, kVtxCentral, kVtxNoEvent, kQVector, kNVtxCuts};
// Constructors
- AliSpectraAODEventCuts() : TNamed(), fAOD(0), fTrackBits(0), fIsMC(0), fUseCentPatchAOD049(0), fIsSelected(0), fCentralityCutMin(0), fCentralityCutMax(0), fQVectorPosCutMin(0), fQVectorPosCutMax(0), fQVectorNegCutMin(0), fQVectorNegCutMax(0), fHistoCuts(0),fHistoVtxBefSel(0),fHistoVtxAftSel(0),fHistoEtaBefSel(0),fHistoEtaAftSel(0),fHistoNChAftSel(0),fHistoQVectorPos(0),fHistoQVectorNeg(0) {}
+ AliSpectraAODEventCuts() : TNamed(), fAOD(0), fTrackBits(0), fIsMC(0), fUseCentPatchAOD049(0), fIsSelected(0), fCentralityCutMin(0), fCentralityCutMax(0), fQVectorCutMin(0), fQVectorCutMax(0), fHistoCuts(0),fHistoVtxBefSel(0),fHistoVtxAftSel(0),fHistoEtaBefSel(0),fHistoEtaAftSel(0),fHistoNChAftSel(0),fHistoQVector(0),fHistoEP(0) {}
AliSpectraAODEventCuts(const char *name);
virtual ~AliSpectraAODEventCuts() {}
Bool_t CheckQVectorCut();
void SetCentralityCutMin(Float_t cut) { fCentralityCutMin = cut; }
void SetCentralityCutMax(Float_t cut) { fCentralityCutMax = cut; }
- void SetQVectorPosCut(Float_t min,Float_t max) { fQVectorPosCutMin = min; fQVectorPosCutMax = max; }
- void SetQVectorNegCut(Float_t min,Float_t max) { fQVectorNegCutMin = min; fQVectorNegCutMax = max; }
+ //void SetQVectorPosCut(Float_t min,Float_t max) { fQVectorPosCutMin = min; fQVectorPosCutMax = max; }
+ //void SetQVectorNegCut(Float_t min,Float_t max) { fQVectorNegCutMin = min; fQVectorNegCutMax = max; }
+ void SetQVectorCut(Float_t min,Float_t max) { fQVectorCutMin = min; fQVectorCutMax = max; }
void SetTrackBits(UInt_t TrackBits) {fTrackBits=TrackBits;}
TH1F * GetHistoEtaBefSel() { return fHistoEtaBefSel; }
TH1F * GetHistoEtaAftSel() { return fHistoEtaAftSel; }
TH1F * GetHistoNChAftSel() { return fHistoNChAftSel; }
- TH1F * GetHistoQVectorPos() { return fHistoQVectorPos; }
- TH1F * GetHistoQVectorNeg() { return fHistoQVectorNeg; }
+ /* TH1F * GetHistoQVectorPos() { return fHistoQVectorPos; } */
+ /* TH1F * GetHistoQVectorNeg() { return fHistoQVectorNeg; } */
+ TH1F * GetHistoQVector() { return fHistoQVector; }
+ TH1F * GetHistoEP() { return fHistoEP; }
Float_t GetCentralityMin() const { return fCentralityCutMin; }
Float_t GetCentralityMax() const { return fCentralityCutMax; }
- Float_t GetQVectorPosCutMin() const { return fQVectorPosCutMin; }
- Float_t GetQVectorPosCutMax() const { return fQVectorPosCutMax; }
- Float_t GetQVectorNegCutMin() const { return fQVectorNegCutMin; }
- Float_t GetQVectorNegCutMax() const { return fQVectorNegCutMax; }
+ //Float_t GetQVectorPosCutMin() const { return fQVectorPosCutMin; }
+ //Float_t GetQVectorPosCutMax() const { return fQVectorPosCutMax; }
+ //Float_t GetQVectorNegCutMin() const { return fQVectorNegCutMin; }
+ //Float_t GetQVectorNegCutMax() const { return fQVectorNegCutMax; }
+ Float_t GetQVectorCutMin() const { return fQVectorCutMin; }
+ Float_t GetQVectorCutMax() const { return fQVectorCutMax; }
void PrintCuts();
Double_t ApplyCentralityPatchAOD049();
Bool_t fIsSelected; // True if cuts are selected
Float_t fCentralityCutMin; // minimum centrality percentile
Float_t fCentralityCutMax; // maximum centrality percentile
- Float_t fQVectorPosCutMin; // minimum qvecPos
- Float_t fQVectorPosCutMax; // maximum qvecPos
- Float_t fQVectorNegCutMin; // minimum qvecNeg
- Float_t fQVectorNegCutMax; // maximum qvecNeg
+ /* Float_t fQVectorPosCutMin; // minimum qvecPos */
+ /* Float_t fQVectorPosCutMax; // maximum qvecPos */
+ /* Float_t fQVectorNegCutMin; // minimum qvecNeg */
+ /* Float_t fQVectorNegCutMax; // maximum qvecNeg */
+ Float_t fQVectorCutMin; // minimum qvecPos
+ Float_t fQVectorCutMax; // maximum qvecPos
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
TH1F *fHistoNChAftSel; // NCh distr after event selection
- TH1F *fHistoQVectorPos; // QVectorPos
- TH1F *fHistoQVectorNeg; // QVectorNeg
+ //TH1F *fHistoQVectorPos; // QVectorPos
+ //TH1F *fHistoQVectorNeg; // QVectorNeg
+ TH1F *fHistoQVector; // QVector
+ TH1F *fHistoEP; // EP
AliSpectraAODEventCuts(const AliSpectraAODEventCuts&);
AliSpectraAODEventCuts& operator=(const AliSpectraAODEventCuts&);
TString fold="3SigmaPID_AOD086-090_FilterBit1";
- //LOOP OVER SELECTION
+ //LOOP OVER SELECTION
// 0 1 2 3 4 5
- Double_t CentCutMin[6]= { 0, 20, 20, 20, 20, 20};
- Double_t CentCutMax[6]= { 5, 50, 50, 50, 50, 50};
- Double_t QvecPosCutMin[6]= { 0, 0, 0, 4, 0, 4};
- Double_t QvecPosCutMax[6]={ 100, 100, 2, 100, 2, 100};
- Double_t QvecNegCutMin[6]={ 0, 0, 0, 0, 0, 0};
- Double_t QvecNegCutMax[6]={ 100, 100, 100, 100, 100, 100};
- Double_t EtaMin[6]={ -0.8,-0.8,-0.8,-0.8, 0, 0};
- Double_t EtaMax[6]={ 0.8, 0.8, 0, 0, 0.8, 0.8};
-
- Int_t icut=5;
+ Double_t CentCutMin[4]= { 0, 20, 20, 20};
+ Double_t CentCutMax[4]= { 5, 50, 50, 50};
+ Double_t QvecCutMin[4]= { 0, 0, 0, 1.5};
+ Double_t QvecCutMax[4]= { 100, 100, 0.4, 100};
+ Double_t EtaMin[4]={ -0.8,-0.8,-0.8,-0.8};
+ Double_t EtaMax[4]={ 0.8, 0.8, 0.8, 0.8};
+
+ Int_t icut=2;
Int_t ibinToCompare=0;
- TString sname_data=Form("Cent%.0fto%.0f_QVecPos%.1fto%.1f_QVecNeg%.1fto%.1f_Eta%.1fto%.1f",CentCutMin[icut],CentCutMax[icut],QvecPosCutMin[icut],QvecPosCutMax[icut],QvecNegCutMin[icut],QvecNegCutMax[icut],EtaMin[icut],EtaMax[icut]);
+ TString sname_data=Form("Cent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f",CentCutMin[icut],CentCutMax[icut],QvecCutMin[icut],QvecCutMax[icut],EtaMin[icut],EtaMax[icut]);
//TString sname_mc=Form("Cent%.0fto%.0f_QVecPos%.1fto%.1f_QVecNeg%.1fto%.1f_Eta%.1fto%.1f",CentCutMin[icut],CentCutMax[icut],QvecPosCutMin[icut],QvecPosCutMax[icut],QvecNegCutMin[icut],QvecNegCutMax[icut],EtaMin[icut],EtaMax[icut]);
//For MC we always take the output without cut on q vector (more stat and the eff is not dependent on q)
- TString sname_mc=Form("Cent%.0fto%.0f_QVecPos0.0to100.0_QVecNeg0.0to100.0_Eta%.1fto%.1f",CentCutMin[icut],CentCutMax[icut],EtaMin[icut],EtaMax[icut]);
+ TString sname_mc=Form("Cent%.0fto%.0f_QVec0.0to100.0_Eta%.1fto%.1f",CentCutMin[icut],CentCutMax[icut],EtaMin[icut],EtaMax[icut]);
TString dataFile = Form("output/%s/OutputAODSpectraTask_data_%s.root",fold.Data(),sname_data.Data());
TString mcFile = Form("output/%s/OutputAODSpectraTask_mc_%s.root",fold.Data(),sname_mc.Data());
cQVector->cd(1);
gPad->SetGridy();
gPad->SetGridx();
- TH1F *hQVector_data=(TH1F*)ecuts_data->GetHistoQVectorPos()->Clone();
+ TH1F *hQVector_data=(TH1F*)ecuts_data->GetHistoQVector()->Clone();
hQVector_data->Scale(1./hQVector_data->GetEntries());
hQVector_data->SetTitle(Form("%s - data",hQVector_data->GetTitle()));
- TH1F *hQVector_mc=(TH1F*)ecuts_mc->GetHistoQVectorPos()->Clone();
+ TH1F *hQVector_mc=(TH1F*)ecuts_mc->GetHistoQVector()->Clone();
hQVector_mc->Scale(1./hQVector_mc->GetEntries());
hQVector_mc->SetTitle(Form("%s - mc",hQVector_mc->GetTitle()));
hQVector_mc->SetLineColor(2);
cQVector->cd(2);
gPad->SetGridy();
gPad->SetGridx();
- TH1F *hQVector_data=(TH1F*)ecuts_data->GetHistoQVectorNeg()->Clone();
- hQVector_data->Scale(1./hQVector_data->GetEntries());
- hQVector_data->SetTitle(Form("%s - data",hQVector_data->GetTitle()));
- TH1F *hQVector_mc=(TH1F*)ecuts_mc->GetHistoQVectorNeg()->Clone();
- hQVector_mc->Scale(1./hQVector_mc->GetEntries());
- hQVector_mc->SetTitle(Form("%s - mc",hQVector_mc->GetTitle()));
- hQVector_mc->SetLineColor(2);
- hQVector_data->DrawClone("lhist");
- hQVector_mc->DrawClone("lhistsame");
- gPad->BuildLegend()->SetFillColor(0);
-
- //Nch distr in data and MC before and after event selection
- TCanvas *cQVectorIntegral=new TCanvas("QVectorIntegraldistr","QVectorIntegraldistr",700,500);
- cQVectorIntegral->Divide(1,2);
- cQVectorIntegral->cd(1);
- gPad->SetGridy();
- gPad->SetGridx();
- TH1F *hQVectorIntegral_data=(TH1F*)ecuts_data->GetHistoQVectorPos()->Clone();
+ TH1F *hQVectorIntegral_data=(TH1F*)ecuts_data->GetHistoQVector()->Clone();
hQVectorIntegral_data->Scale(1./hQVectorIntegral_data->GetEntries());
Float_t count=0;
for(Int_t ibin=1;ibin<hQVectorIntegral_data->GetNbinsX();ibin++){
hQVectorIntegral_data->SetBinContent(ibin,count);
}
hQVectorIntegral_data->SetTitle(Form("%s - data",hQVectorIntegral_data->GetTitle()));
- TH1F *hQVectorIntegral_mc=(TH1F*)ecuts_mc->GetHistoQVectorPos()->Clone();
+ TH1F *hQVectorIntegral_mc=(TH1F*)ecuts_mc->GetHistoQVector()->Clone();
hQVectorIntegral_mc->Scale(1./hQVectorIntegral_mc->GetEntries());
count=0;
for(Int_t ibin=1;ibin<hQVectorIntegral_mc->GetNbinsX();ibin++){
hQVectorIntegral_data->DrawClone("lhist");
hQVectorIntegral_mc->DrawClone("lhistsame");
gPad->BuildLegend()->SetFillColor(0);
- cQVectorIntegral->cd(2);
+
+
+ //EP
+ TCanvas *cEP=new TCanvas("EPdistr","EPdistr",700,500);
gPad->SetGridy();
gPad->SetGridx();
- TH1F *hQVectorIntegral_data=(TH1F*)ecuts_data->GetHistoQVectorNeg()->Clone();
- hQVectorIntegral_data->Scale(1./hQVectorIntegral_data->GetEntries());
- count=0;
- for(Int_t ibin=1;ibin<hQVectorIntegral_data->GetNbinsX();ibin++){
- count+=hQVectorIntegral_data->GetBinContent(ibin);
- hQVectorIntegral_data->SetBinContent(ibin,count);
- }
- hQVectorIntegral_data->SetTitle(Form("%s - data",hQVectorIntegral_data->GetTitle()));
- TH1F *hQVectorIntegral_mc=(TH1F*)ecuts_mc->GetHistoQVectorNeg()->Clone();
- hQVectorIntegral_mc->Scale(1./hQVectorIntegral_mc->GetEntries());
- count=0;
- for(Int_t ibin=1;ibin<hQVectorIntegral_mc->GetNbinsX();ibin++){
- count+=hQVectorIntegral_mc->GetBinContent(ibin);
- hQVectorIntegral_mc->SetBinContent(ibin,count);
- }
- hQVectorIntegral_mc->SetTitle(Form("%s - mc",hQVectorIntegral_mc->GetTitle()));
- hQVectorIntegral_mc->SetLineColor(2);
- hQVectorIntegral_data->DrawClone("lhist");
- hQVectorIntegral_mc->DrawClone("lhistsame");
+ TH1F *hEP_data=(TH1F*)ecuts_data->GetHistoEP()->Clone();
+ hEP_data->Scale(1./hEP_data->GetEntries());
+ hEP_data->SetTitle(Form("%s - data",hEP_data->GetTitle()));
+ TH1F *hEP_mc=(TH1F*)ecuts_mc->GetHistoEP()->Clone();
+ hEP_mc->Scale(1./hEP_mc->GetEntries());
+ hEP_mc->SetTitle(Form("%s - mc",hEP_mc->GetTitle()));
+ hEP_mc->SetLineColor(2);
+ hEP_data->DrawClone("lhist");
+ hEP_mc->DrawClone("lhistsame");
gPad->BuildLegend()->SetFillColor(0);
-
-
//Eta Phi at high Pt in data and Monte Carlo
TCanvas *cEtaPhi=new TCanvas("EtaPhi","EtaPhi",700,500);
cEtaPhi->Divide(2,1);
cEta->Write();
cNCh->Write();
cQVector->Write();
- cQVectorIntegral->Write();
cEtaPhi->Write();
cRatioEtaPhi->Write();
cTrackCuts->Write();
-void runAODProof(Int_t c=3, const char * proofMode = "full")
+void runAODProof(Int_t c=4, const char * proofMode = "full")
{ //1 data AOD049
//2 MC AOD048
//3 data AOD086
Bool_t isMC = kFALSE;
if (c == 2 || c == 4) isMC = kTRUE;
Printf("-------------------------------adding in runAOD AddTaskPIDResponse");
- AliAnalysisTask * taskPID = AddTaskPIDResponse(isMC);
+ //AliAnalysisTask * taskPID = AddTaskPIDResponse(isMC);
+ //Printf("\n\n\n\n\n\n\n\nsetting specific OADB for TPC Response");
+ //taskPID->SetOADBPath("/alice/cern.ch/user/a/akalweit/ForLeornado/OADB");
+
+ AliAnalysisTaskPIDResponse *taskPID=AddTaskPIDResponse(isMC);
+ //taskPID->SetOADBPath("alien:///alice/cern.ch/user/a/akalweit/ForLeornado/OADB");
+
//gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDqa.C");
//AddTaskPIDqa();
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskVZEROEPSelection.C");
+ AliVZEROEPSelectionTask *selTask = AddTaskVZEROEPSelection();
+
//LOOP OVER SELECTION
// 0 1 2 3 4 5
- Double_t CentCutMin[6]= { 0, 20, 20, 20, 20, 20};
- Double_t CentCutMax[6]= { 5, 50, 50, 50, 50, 50};
- Double_t QvecPosCutMin[6]= { 0, 0, 0, 4, 0, 4};
- Double_t QvecPosCutMax[6]={ 100, 100, 2, 100, 2, 100};
- Double_t QvecNegCutMin[6]={ 0, 0, 0, 0, 0, 0};
- Double_t QvecNegCutMax[6]={ 100, 100, 100, 100, 100, 100};
- Double_t EtaMin[6]={ -0.8,-0.8,-0.8,-0.8, 0, 0};
- Double_t EtaMax[6]={ 0.8, 0.8, 0, 0, 0.8, 0.8};
+ Double_t CentCutMin[4]= { 0, 20, 20, 20};
+ Double_t CentCutMax[4]= { 5, 50, 50, 50};
+ Double_t QvecCutMin[4]= { 0, 0, 0, 1.5};
+ Double_t QvecCutMax[4]= { 100, 100, 0.4, 100};
+ Double_t EtaMin[4]={ -0.8,-0.8,-0.8,-0.8};
+ Double_t EtaMax[4]={ 0.8, 0.8, 0.8, 0.8};
if(c==2 || c==4){//for the MC the efficiency doesn't depend on q, we increase the stat
- for(Int_t i=0;i<6;i++){
- QvecPosCutMin[i]=0;
- QvecPosCutMax[i]=100;
- QvecNegCutMin[i]=0;
- QvecNegCutMax[i]=100;
+ for(Int_t i=0;i<4;i++){
+ QvecCutMin[i]=0;
+ QvecCutMax[i]=100;
}
}
AliSpectraAODPID *pid = new AliSpectraAODPID(kNSigmaTPCTOF);
pid->SetNSigmaCut(3.);
- for(Int_t iCut=0;iCut<6;iCut++){
- //mc we need 1 & 2||3 & 4||5
- //data we need all
- if(iCut!=5)continue; //uncomemnt if you want to run only on 1 subsample
+ for(Int_t iCut=0;iCut<4;iCut++){
+ if(iCut!=1)continue; //uncomemnt if you want to run only on 1 subsample
AliAnalysisTaskSpectraAOD *task = new AliAnalysisTaskSpectraAOD("TaskAODExercise");
mgr->AddTask(task);
//physics selection
//if(c==3 || c==4)tcuts->SetTrackType(10); //AOD 086 & 090. Standard Raa cut
//if(c==3 || c==4)tcuts->SetTrackType(4); //AOD 086 & 090. Jet analysis
//if(c==3 || c==4)tcuts->SetTrackType(7); //AOD 086 & 090. TPC Only
- tcuts->SetTrackBits(1);
+ tcuts->SetTrackBits(1024);
Printf("\n-------------------- tcuts->GetTrackType() %d \n",tcuts->GetTrackType());
//tcuts->SetDCA(.1);
tcuts->SetPt(5);
tcuts->SetY(.5);
tcuts->SetPtTOFMatching(.6);
//cut on qvector and eta
- vcuts->SetQVectorPosCut(QvecPosCutMin[iCut],QvecPosCutMax[iCut]);
- vcuts->SetQVectorNegCut(QvecNegCutMin[iCut],QvecNegCutMax[iCut]);
+ vcuts->SetQVectorCut(QvecCutMin[iCut],QvecCutMax[iCut]);
tcuts->SetEta(EtaMin[iCut],EtaMax[iCut]);
if(c==1)vcuts->SetUseCentPatchAOD049(kTRUE);
vcuts->SetCentralityCutMax(CentCutMax[iCut]);
task->SetIsMC(kTRUE);
vcuts->SetIsMC(kTRUE);
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
- AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chistpt%d",iCut), AliSpectraAODHistoManager::Class(), AliAnalysisManager::kOutputContainer,
- Form("OutputAODSpectraTask_mc_Cent%.0fto%.0f_QVecPos%.1fto%.1f_QVecNeg%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),
- vcuts->GetQVectorPosCutMin(), vcuts->GetQVectorPosCutMax(),vcuts->GetQVectorNegCutMin(), vcuts->GetQVectorNegCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
+ AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chistpt%d",iCut), AliSpectraAODHistoManager::Class(), AliAnalysisManager::kOutputContainer,
+ Form("OutputAODSpectraTask_mc_Cent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),vcuts->GetQVectorCutMin(), vcuts->GetQVectorCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer(Form("cvcutpt%d",iCut), AliSpectraAODEventCuts::Class(), AliAnalysisManager::kOutputContainer,
- Form("OutputAODSpectraTask_mc_Cent%.0fto%.0f_QVecPos%.1fto%.1f_QVecNeg%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),
- vcuts->GetQVectorPosCutMin(), vcuts->GetQVectorPosCutMax(),vcuts->GetQVectorNegCutMin(), vcuts->GetQVectorNegCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
+ Form("OutputAODSpectraTask_mc_Cent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),vcuts->GetQVectorCutMin(), vcuts->GetQVectorCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer(Form("ctcutpt%d",iCut), AliSpectraAODTrackCuts::Class(), AliAnalysisManager::kOutputContainer,
- Form("OutputAODSpectraTask_mc_Cent%.0fto%.0f_QVecPos%.1fto%.1f_QVecNeg%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),
- vcuts->GetQVectorPosCutMin(), vcuts->GetQVectorPosCutMax(),vcuts->GetQVectorNegCutMin(), vcuts->GetQVectorNegCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
+ Form("OutputAODSpectraTask_mc_Cent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),vcuts->GetQVectorCutMin(), vcuts->GetQVectorCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
AliAnalysisDataContainer *coutputpt4 = mgr->CreateContainer(Form("cpidpt%d",iCut), AliSpectraAODPID::Class(), AliAnalysisManager::kOutputContainer,
- Form("OutputAODSpectraTask_mc_Cent%.0fto%.0f_QVecPos%.1fto%.1f_QVecNeg%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),
- vcuts->GetQVectorPosCutMin(), vcuts->GetQVectorPosCutMax(),vcuts->GetQVectorNegCutMin(), vcuts->GetQVectorNegCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
+ Form("OutputAODSpectraTask_mc_Cent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),vcuts->GetQVectorCutMin(), vcuts->GetQVectorCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
}
if (c == 1 || c==3)
{
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chistpt%d",iCut), AliSpectraAODHistoManager::Class(), AliAnalysisManager::kOutputContainer,
- Form("OutputAODSpectraTask_data_Cent%.0fto%.0f_QVecPos%.1fto%.1f_QVecNeg%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),
- vcuts->GetQVectorPosCutMin(), vcuts->GetQVectorPosCutMax(),vcuts->GetQVectorNegCutMin(), vcuts->GetQVectorNegCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
+ Form("OutputAODSpectraTask_data_Cent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),vcuts->GetQVectorCutMin(), vcuts->GetQVectorCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer(Form("cvcutpt%d",iCut), AliSpectraAODEventCuts::Class(), AliAnalysisManager::kOutputContainer,
- Form("OutputAODSpectraTask_data_Cent%.0fto%.0f_QVecPos%.1fto%.1f_QVecNeg%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),
- vcuts->GetQVectorPosCutMin(), vcuts->GetQVectorPosCutMax(),vcuts->GetQVectorNegCutMin(), vcuts->GetQVectorNegCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
+ Form("OutputAODSpectraTask_data_Cent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),vcuts->GetQVectorCutMin(), vcuts->GetQVectorCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer(Form("ctcutpt%d",iCut), AliSpectraAODTrackCuts::Class(), AliAnalysisManager::kOutputContainer,
- Form("OutputAODSpectraTask_data_Cent%.0fto%.0f_QVecPos%.1fto%.1f_QVecNeg%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),
- vcuts->GetQVectorPosCutMin(), vcuts->GetQVectorPosCutMax(),vcuts->GetQVectorNegCutMin(), vcuts->GetQVectorNegCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
+ Form("OutputAODSpectraTask_data_Cent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),vcuts->GetQVectorCutMin(), vcuts->GetQVectorCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
AliAnalysisDataContainer *coutputpt4 = mgr->CreateContainer(Form("cpidpt%d",iCut), AliSpectraAODPID::Class(), AliAnalysisManager::kOutputContainer,
- Form("OutputAODSpectraTask_data_Cent%.0fto%.0f_QVecPos%.1fto%.1f_QVecNeg%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),
- vcuts->GetQVectorPosCutMin(), vcuts->GetQVectorPosCutMax(),vcuts->GetQVectorNegCutMin(), vcuts->GetQVectorNegCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
-
+ Form("OutputAODSpectraTask_data_Cent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f.root",vcuts->GetCentralityMin(),vcuts->GetCentralityMax(),vcuts->GetQVectorCutMin(), vcuts->GetQVectorCutMax(),tcuts->GetEtaMin(),tcuts->GetEtaMax()));
+
}
mgr->ConnectInput(task, 0, cinput);
mgr->ConnectOutput(task, 1, coutputpt1);
mgr->ConnectOutput(task, 4, coutputpt4);
}
mgr->SetDebugLevel(2);
-
+
if (!mgr->InitAnalysis()) return;
mgr->PrintStatus();
mgr->StartAnalysis("proof");
class AliAnalysisManager;
class AliAnalysisAlien;
-void runGrid(TString mode="test",Int_t mc=1,Int_t day=15,Int_t month=6, Int_t year=2012)
+void runGrid(TString mode="test",Int_t mc=0,Int_t day=15,Int_t month=6, Int_t year=2012)
{
//0 is AOD048-049 in this case you can choos FilterBit5 (loose DCA) or 6 (tight DCA)!!!!!!!!!
//1 is AOD086-090
// Add PID task
gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
- AliAnalysisTask * taskPID = AddTaskPIDResponse(mc);
-
+ AliAnalysisTaskPIDResponse *taskPID=AddTaskPIDResponse(mc);
+ // Printf("OADB PATH:::::%s",taskPID->GetOADBPath());
+ // taskPID->SetOADBPath("alien:///alice/cern.ch/user/a/akalweit/ForLeornado/OADB");
+ // Printf("OADB PATH:::::%s",taskPID->GetOADBPath());
+
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskVZEROEPSelection.C");
+ AliVZEROEPSelectionTask *selTask = AddTaskVZEROEPSelection();
+
gROOT->LoadMacro("AddTaskSpectraAOD.C");
AliAnalysisTaskSpectraAOD* taskAOD=AddTaskSpectraAOD();