#include "TH1F.h"
#include "TH2F.h"
#include "TCanvas.h"
-
#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"
-
#include "AliESDEvent.h"
#include "AliESDHeader.h"
#include "AliESDUtils.h"
#include "AliESDInputHandler.h"
#include "AliESDpid.h"
#include "AliKFParticle.h"
-
#include "AliMCEventHandler.h"
#include "AliMCEvent.h"
#include "AliStack.h"
-
-
#include "AliESDtrackCuts.h"
#include "AliESDv0.h"
#include "AliV0vertexer.h"
#include "AliEMCALRecoUtils.h"
#include "TLorentzVector.h"
#include "AliVCluster.h"
-
-
#include "AliAnalysisTaskTrgContam.h"
#include "TFile.h"
-
ClassImp(AliAnalysisTaskTrgContam)
//________________________________________________________________________
AliAnalysisTaskTrgContam::AliAnalysisTaskTrgContam(const char *name)
: AliAnalysisTaskSE(name),
fCaloClusters(0),
+ fEMCalCells(0),
fGeom(0x0),
fGeoName("EMCAL_COMPLETEV1"),
fPeriod("LHC11c"),
fIsTrain(0),
fTrigThresh(4.8),
fExoticCut(0.97),
-
-
fESD(0),
-
fOutputList(0),
-
fEvtSel(0),
-
fClusEt(0),
fClusEtTM(0),
fClusEtLead(0),
fM02EtTM(0),
fM02EtExot(0),
fM02EtExotTM(0)
-
-
-
{
// Constructor
// Output slot #1 writes into a TH1 container
DefineOutput(1, TList::Class());
}
+
//________________________________________________________________________
void AliAnalysisTaskTrgContam::UserCreateOutputObjects()
{
fCaloClusters->Clear();
PostData(1, fOutputList);
}
+
//________________________________________________________________________
void AliAnalysisTaskTrgContam::FillClusHists()
{
const Int_t nclus = fCaloClusters->GetEntries();
if(nclus==0)
return;
- Double_t EtArray[nclus];
- Bool_t isTM[nclus];
- Bool_t isEx[nclus];
- Int_t index[nclus];
+ Double_t EtArray[nclus]; memset(EtArray,0,nclus*sizeof(Double_t));
+ Bool_t isTM[nclus]; memset(isTM,0,nclus*sizeof(Bool_t));
+ Bool_t isEx[nclus]; memset(isEx,0,nclus*sizeof(Bool_t));
+ Int_t index[nclus]; memset(index,0,nclus*sizeof(Int_t));
Int_t nthresholds = 0;
for(Int_t ic=0;ic<nclus;ic++){
EtArray[ic]=0;
if(nclus>1)if(isTM[index[1]] && EtArray[index[1]]>0)
fClusEtSubLeadTM->Fill(EtArray[index[1]]);
}
+
//________________________________________________________________________
Double_t AliAnalysisTaskTrgContam::GetCrossEnergy(const AliVCluster *cluster, Short_t &idmax)
{
return crossEnergy;
}
-
-
//________________________________________________________________________
Double_t AliAnalysisTaskTrgContam ::GetMaxCellEnergy(const AliVCluster *cluster, Short_t &id) const
{
}
return maxe;
}
+
//________________________________________________________________________
void AliAnalysisTaskTrgContam::Terminate(Option_t *)
{
// Draw result to the screen
// Called once at the end of the query
-
}
class AliAnalysisTaskTrgContam : public AliAnalysisTaskSE {\r
public:\r
AliAnalysisTaskTrgContam() : \r
- AliAnalysisTaskSE(), \r
- \r
+ AliAnalysisTaskSE(), \r
fCaloClusters(0),\r
-\r
+ fEMCalCells(0),\r
fGeom(0x0),\r
- \r
+ fGeoName(),\r
+ fPeriod(),\r
+ fIsTrain(0),\r
+ fTrigThresh(0),\r
+ fExoticCut(0),\r
fESD(0),\r
- \r
fOutputList(0),\r
-\r
fEvtSel(0),\r
-\r
fClusEt(0),\r
fClusEtTM(0),\r
fClusEtLead(0),\r
fM02Et(0),\r
fM02EtTM(0),\r
fM02EtExot(0),\r
- fM02EtExotTM(0)\r
-\r
- \r
- \r
- \r
- {}\r
+ fM02EtExotTM(0) {}\r
AliAnalysisTaskTrgContam(const char *name);\r
virtual ~AliAnalysisTaskTrgContam() {}\r
\r
void FillClusHists();\r
Double_t GetCrossEnergy(const AliVCluster *cluster, Short_t &idmax);\r
Double_t GetMaxCellEnergy(const AliVCluster *cluster, Short_t &id) const; \r
-\r
-\r
-\r
-\r
\r
protected:\r
TRefArray *fCaloClusters; //!pointer to EMCal clusters\r
\r
private:\r
AliESDEvent *fESD; //! ESD object\r
-\r
-\r
- \r
TList *fOutputList; //! Output list\r
//histograms for events with 1+ track pt>1\r
- \r
TH1F *fEvtSel; //!evt selection counter: 0=all trg, 1=pv cut \r
-\r
TH1F *fClusEt; //!cluster Et spectrum\r
TH1F *fClusEtTM; //!cluster(matched to a track) Et spectrum\r
TH1F *fClusEtLead; //!leading trigger cluster Et\r
TH1F *fClusEtExotic; //!exotic trigger clusters Et\r
TH1F *fClusEtExoticTM; //!exotic trigger clusters (TM) Et\r
TH1F *fClusEtSingleExotic; //!exotic trigger only clusters Et \r
- \r
TH2F *fM02Et; //!M02xEt for trigger clusters\r
TH2F *fM02EtTM; //!M02xEt for trigger clusters with track matched\r
TH2F *fM02EtExot; //!M02xEt for trigger clusters of exotic\r
TH2F *fM02EtExotTM; //!M02xEt for trigger TM clusters of exotic\r
-\r
\r
AliAnalysisTaskTrgContam(const AliAnalysisTaskTrgContam&); // not implemented\r
AliAnalysisTaskTrgContam& operator=(const AliAnalysisTaskTrgContam&); // not implemented\r
\r
ClassDef(AliAnalysisTaskTrgContam, 1); // example of analysis\r
};\r
-\r
#endif\r