:AliAnalysisTaskSE(name),
fOutput(0),
fESD(0),
- fcheckEP2sub(1),
+ fEvtSelect(1),
fCentrality(99.),
fEPTPC(-999.),
fEPTPCreso(0.),
:AliAnalysisTaskSE("default_name"),
fOutput(0),
fESD(0),
- fcheckEP2sub(1),
+ fEvtSelect(1),
fCentrality(99.),
fEPTPC(-999.),
fEPTPCreso(0.),
if (!event) { Printf("ERROR: Could not retrieve event"); return; }
Bool_t isSelected =0;
- isSelected = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & (AliVEvent::kMB | AliVEvent::kSemiCentral));
- if(!isSelected )
+ if(fEvtSelect == 2){
+ isSelected = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & (AliVEvent::kMB | AliVEvent::kSemiCentral));
+ } else if (fEvtSelect == 1){
+ isSelected = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & (AliVEvent::kMB | AliVEvent::kSemiCentral | AliVEvent::kCentral));
+ }
+ if(!isSelected )
return;
// create pointer to event
hEvtCount->Fill(4);
- if(fcheckEP2sub){
- if(fEPV0r<-2. || fEPV0Ar<-2. || fEPV0Cr<-2.) return;
- }
- if(!fcheckEP2sub){
- if(fEPV0A<-2. || fEPV0C<-2. || fEPV0AR4<-2. || fEPV0AR7<-2. || fEPV0CR0<-2. || fEPV0CR3<-2. || fEPTPC<-2.) return;
- }
+ if( fEPV0A<-2. || fEPV0C<-2. || fEPV0AR4<-2.
+ || fEPV0AR7<-2. || fEPV0CR0<-2. || fEPV0CR3<-2.
+ || fEPTPC<-2. || fEPV0r<-2. || fEPV0Ar<-2.
+ || fEPV0Cr<-2.) return;
hEvtCount->Fill(5);
//cout<<" EPTPC: "<<fEPTPC<<" reso: "<<fEPTPCreso<<" -------------------"<<endl;
//cout<<" cent: "<<fCentrality<<" fEPV0:"<<fEPV0<<" fEPV0A:"<<fEPV0A<<" fEPV0C:"<<fEPV0C<<" fEPV0Ar:"<<fEPV0Ar<<" fEPV0Cr:"<<fEPV0Cr<<" fEPV0r:"<<fEPV0AR4<<" fEPV0AR7:"<<fEPV0AR7<<" fEPV0CR0:"<<fEPV0CR0<<" fEPV0CR3:"<<fEPV0CR3<<"--------------------------------------------"<<endl;
+ if(fEPTPC != -999.)
hEPTPC->Fill(fCentrality, fEPTPC);
if(fEPTPCreso!=-1) hresoTPC->Fill(fCentrality, fEPTPCreso);
hEPV0->Fill(fCentrality, fEPV0);
* Based on tutorial example from offline pages
* Edited by Arvinder Palaha
*/
-#ifndef ALIANALYSISTASKEX01_H
-#define ALIANALYSISTASKEX01_H
+#ifndef ALIANALYSISTASKPI0V2_H
+#define ALIANALYSISTASKPI0V2_H
class TH1F;
class TH2F;
Bool_t IsGoodPion(const TLorentzVector& p1, const TLorentzVector& p2) const;
void FillPion(const TLorentzVector& p1, const TLorentzVector& p2, Double_t EPV0r, Double_t EPV0A, Double_t EPV0C, Double_t EPTPC);
void GetMom(TLorentzVector& p, const AliESDCaloCluster *c, Double_t *vertex);
- void SetsubEventMethod(Bool_t b ) { fcheckEP2sub =b ;}
+ void SetEventMethod(Double_t b ) { fEvtSelect =b ;}
private:
TList *fOutput; //! Output list
AliESDEvent *fESD; //!ESD object
- Bool_t fcheckEP2sub; // do 2 sub event method
+ Double_t fEvtSelect; // 1 = MB+Semi+Central, 2 = MB+Semi;
// NEW HISTO to be declared here
Double_t fCentrality; //! Centrality
Double_t fEPTPC; //! Evt plane TPC
-AliAnalysisTask *AddTaskEMCALPi0V2hardCodeEP()
+AliAnalysisTask *AddTaskEMCALPi0V2hardCodeEP(Double_t EvtMthod=1)
{
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
eventplaneTask->SetSaveTrackContribution();
AliESDtrackCuts* epTrackCuts = new AliESDtrackCuts("AliESDtrackCuts", "Standard");
- epTrackCuts->SetPtRange(0.1, 4);
+ epTrackCuts->SetRequireTPCStandAlone(kTRUE); // to get chi2 and ncls of kTPCin
+ epTrackCuts->SetMinNClustersTPC(50);
+ epTrackCuts->SetMaxChi2PerClusterTPC(4);
+ epTrackCuts->SetAcceptKinkDaughters(kFALSE);
+ epTrackCuts->SetRequireTPCRefit(kTRUE);
+ epTrackCuts->SetMaxDCAToVertexZ(3.2);
+ epTrackCuts->SetMaxDCAToVertexXY(2.4);
+ epTrackCuts->SetPtRange(0.15, 20);
eventplaneTask->SetPersonalESDtrackCuts(epTrackCuts);
mgr->AddTask(eventplaneTask);
//analysis task
AliAnalysisTaskSE* taskMB = new AliAnalysisTaskPi0V2("Pi0v2Task");
+ taskMB->SetEventMethod(EvtMthod);
TString containerName = mgr->GetCommonFileName();
containerName += ":PWGGA_pi0v2CalSemiCentral";