ClassImp(AlidNdEtaCorrection)
//____________________________________________________________________
-AlidNdEtaCorrection::AlidNdEtaCorrection(Char_t* name)
- : TNamed(name, name),
+AlidNdEtaCorrection::AlidNdEtaCorrection()
+ : TNamed(),
+ fTrack2ParticleCorrection(0),
+ fVertexRecoCorrection(0),
+ fTriggerCorrection(0),
+ fTriggerBiasCorrection(0),
fNEvents(0),
fNTriggeredEvents(0)
-{
+{
+ // default constructor
+}
+
+//____________________________________________________________________
+AlidNdEtaCorrection::AlidNdEtaCorrection(const Char_t* name, const Char_t* title)
+ : TNamed(name, title),
+ fNEvents(0),
+ fNTriggeredEvents(0)
+{
// constructor
//
class AlidNdEtaCorrection : public TNamed
{
public:
- AlidNdEtaCorrection(Char_t* name="dndeta_correction");
+ AlidNdEtaCorrection();
+ AlidNdEtaCorrection(const Char_t* name, const Char_t* title);
// fVertexRecoCorrection, fTriggerCorrection
void FillEvent(Float_t vtx, Float_t n) {fTriggerCorrection->FillGene(vtx, n);}
void SaveHistograms();
Bool_t LoadHistograms(Char_t* fileName, Char_t* dir = "dndeta_correction");
- Bool_t LoadCorrection(Char_t* fileName, Char_t* dir = "dndeta_correction")
+ Bool_t LoadCorrection(Char_t* fileName, Char_t* dir = "dndeta_correction")
{return LoadHistograms(fileName, dir);}
void DrawHistograms();
Float_t GetMeasuredFraction(Float_t ptCutOff, Float_t eta = -1, Bool_t debug = kFALSE);
+ void SetNEvents(Long64_t events) { fNEvents = events; }
+
protected:
- AliCorrectionMatrix3D* fTrack2ParticleCorrection; // handles the track-to-particle correction, function of vtx_z, eta, pt
- AliCorrectionMatrix2D* fVertexRecoCorrection; // handles the vertex reconstruction efficiency, function of n_clustersITS and vtx_z
- AliCorrectionMatrix2D* fTriggerCorrection; // handles the trigger efficiency efficiency, function of n_clustersITS and vtx_z
+ AliCorrectionMatrix3D* fTrack2ParticleCorrection; //-> handles the track-to-particle correction, function of vtx_z, eta, pt
+ AliCorrectionMatrix2D* fVertexRecoCorrection; //-> handles the vertex reconstruction efficiency, function of n_clustersITS and vtx_z
+ AliCorrectionMatrix2D* fTriggerCorrection; //-> handles the trigger efficiency efficiency, function of n_clustersITS and vtx_z
- AliCorrectionMatrix2D* fTriggerBiasCorrection; // MB to desired sample
+ AliCorrectionMatrix2D* fTriggerBiasCorrection; //-> MB to desired sample
Long64_t fNEvents;
Long64_t fNTriggeredEvents;
- ClassDef(AlidNdEtaCorrection,0)
+ ClassDef(AlidNdEtaCorrection, 1)
};
#endif
AliSelectorRL::SlaveBegin(tree);
- fdNdEtaCorrection = new AlidNdEtaCorrection();
+ fdNdEtaCorrection = new AlidNdEtaCorrection("dndeta_correction", "dndeta_correction");
if (fTree)
fEsdTrackCuts = dynamic_cast<AliESDtrackCuts*> (fTree->GetUserInfo()->FindObject("AliESDtrackCuts"));
AlidNdEtaCorrection* dNdEtaCorrection = 0;
if (correct)
{
- dNdEtaCorrection = new AlidNdEtaCorrection();
+ dNdEtaCorrection = new AlidNdEtaCorrection("dndeta_correction", "dndeta_correction");
dNdEtaCorrection->LoadHistograms("correction_map.root","dndeta_correction");
//dNdEtaCorrection->RemoveEdges(2, 0, 2);
}
{
gSystem->Load("libPWG0base");
- AlidNdEtaCorrection* dNdEtaMap = new AlidNdEtaCorrection();
+ AlidNdEtaCorrection* dNdEtaMap = new AlidNdEtaCorrection("dndeta_correction", "dndeta_correction");
dNdEtaMap->LoadCorrection("correction_map.root");
dNdEtaMap->DrawHistograms();
{
gSystem->Load("libPWG0base");
- AlidNdEtaCorrection* dNdEtaCorrection = new AlidNdEtaCorrection();
+ AlidNdEtaCorrection* dNdEtaCorrection = new AlidNdEtaCorrection("dndeta_correction", "dndeta_correction");
dNdEtaCorrection->LoadHistograms("correction_map.root","dndeta_correction");
dNdEtaCorrection->GetMeasuredFraction(0.3, -1, kTRUE);
gSystem->Load("libPWG0base");
TFile* file = TFile::Open("correction_map.root");
- AlidNdEtaCorrection* dNdEtaCorrection = new AlidNdEtaCorrection();
+ AlidNdEtaCorrection* dNdEtaCorrection = new AlidNdEtaCorrection("dndeta_correction", "dndeta_correction");
dNdEtaCorrection->LoadHistograms("correction_map.root","dndeta_correction");
TH3* gene = dNdEtaCorrection->GetTrack2ParticleCorrection()->GetGeneratedHistogram();
// ########################################################
// definition of dNdEta correction object
- AlidNdEtaCorrection* dNdEtaMap = new AlidNdEtaCorrection();
+ AlidNdEtaCorrection* dNdEtaMap = new AlidNdEtaCorrection("dndeta_correction", "dndeta_correction");
// ########################################################
// get the data dir
else
{
chain = CreateESDChainFromList(data, nRuns, offset);
- proof = gROOT->Proof("jgrosseo@lxb6046");
+ proof = TProof::Open("jgrosseo@lxb6046");
if (!proof)
{
return;
}
- chain->GetUserInfo()->Add(esdTrackCuts);
- if (proof)
- proof->AddInput(esdTrackCuts);
+ //chain->GetUserInfo()->Add(esdTrackCuts);
+ //if (proof)
+ // proof->AddInput(esdTrackCuts);
if (aMC == kFALSE)
{
- AlidNdEtaCorrection* dNdEtaCorrection = new AlidNdEtaCorrection();
+ AlidNdEtaCorrection* dNdEtaCorrection = new AlidNdEtaCorrection("dndeta_correction", "dndeta_correction");
dNdEtaCorrection->LoadHistograms("correction_map.root","dndeta_correction");
//dNdEtaCorrection->RemoveEdges(2, 0, 2);
- chain->GetUserInfo()->Add(dNdEtaCorrection);
- if (proof)
- proof->AddInput(dNdEtaCorrection);
+ //chain->GetUserInfo()->Add(dNdEtaCorrection);
+ //if (proof)
+ // proof->AddInput(dNdEtaCorrection);
}
TString selectorName = ((aMC == kFALSE) ? "AlidNdEtaAnalysisESDSelector" : "AlidNdEtaAnalysisMCSelector");
// workaround for a bug in PROOF that only allows header files for .C files
// please create symlink from <selector>.cxx to <selector>.C
if (proof != kFALSE)
- selectorName += ".C+";
+ selectorName += ".C++";
else
- selectorName += ".cxx+";
+ selectorName += ".cxx++";
if (aDebug != kFALSE)
selectorName += "g";
//######################################################
// esd track quality cuts
- static const Char_t* fgkCutNames[kNCuts]; // names of cuts (for internal use)
+ static const Char_t* fgkCutNames[kNCuts]; //! names of cuts (for internal use)
Int_t fCutMinNClusterTPC; // min number of tpc clusters
Int_t fCutMinNClusterITS; // min number of its clusters
// diagnostics histograms
Bool_t fHistogramsOn; // histograms on/off
- TH1F* fhNClustersITS[2]; //[2]
- TH1F* fhNClustersTPC[2]; //[2]
-
- TH1F* fhChi2PerClusterITS[2]; //[2]
- TH1F* fhChi2PerClusterTPC[2]; //[2]
+ TH1F* fhNClustersITS[2]; //->
+ TH1F* fhNClustersTPC[2]; //->
+
+ TH1F* fhChi2PerClusterITS[2]; //->
+ TH1F* fhChi2PerClusterTPC[2]; //->
- TH1F* fhC11[2]; //[2]
- TH1F* fhC22[2]; //[2]
- TH1F* fhC33[2]; //[2]
- TH1F* fhC44[2]; //[2]
- TH1F* fhC55[2]; //[2]
+ TH1F* fhC11[2]; //->
+ TH1F* fhC22[2]; //->
+ TH1F* fhC33[2]; //->
+ TH1F* fhC44[2]; //->
+ TH1F* fhC55[2]; //->
- TH1F* fhDXY[2]; //[2]
- TH1F* fhDZ[2]; //[2]
- TH2F* fhDXYvsDZ[2]; //[2]
+ TH1F* fhDXY[2]; //->
+ TH1F* fhDZ[2]; //->
+ TH2F* fhDXYvsDZ[2]; //->
- TH1F* fhDXYNormalized[2]; //[2]
- TH1F* fhDZNormalized[2]; //[2]
- TH2F* fhDXYvsDZNormalized[2]; //[2]
+ TH1F* fhDXYNormalized[2]; //->
+ TH1F* fhDZNormalized[2]; //->
+ TH2F* fhDXYvsDZNormalized[2]; //->
- TH1F* fhCutStatistics; // statistics of what cuts the tracks did not survive
- TH2F* fhCutCorrelation; // 2d statistics plot
+ TH1F* fhCutStatistics; //-> statistics of what cuts the tracks did not survive
+ TH2F* fhCutCorrelation; //-> 2d statistics plot
- ClassDef(AliESDtrackCuts,0)
+ ClassDef(AliESDtrackCuts, 1)
};